您的位置:首页 > 其它

考试题目分析

2014-09-25 21:48 281 查看

1.//输入5个数从小到大排列

#include<stdio.h>

void accept(int num[])

{

int i=0;

for(i=0;i<5;i++) /*循环输入5个数到数组中*/

{

printf("请输入第%d个数:",i+1);

scanf("%d",&num[i]);

}

}

int sort(int num[])

{

int i=0,j=0,tmp=0;

for(i=0;i<5;i++) /*冒泡法排序*/

{

for(j=0;j<4-i;j++)

{

if(num[j]<num[j+1])

tmp=num[j+1]; /*如果num[j]<num[j+1],交换num[j]和num[j+1]的值*/

num[j+1]=num[j];

num[j+1]=tmp;

}

}

}

int list(int num[])

{

int i=0;

printf("这5个数从小到大排列为:");

for(i=0;i<5;i++) /*循环打印num[i]*/

{

printf("%6d",num[i]);

}

printf("\n");

}

void main()

{

int num[5];

accept(num); /*调用函数*/

sort(num);

list(num);

}

2./*实现strlen和strcmp功能*/

#include<stdio.h>

void strlen(char str[]) /*strlen函数的实现*/

{

int i=0;

while(str[i]!='\0') //循环找到\0为止即字符串的长度

{

i++;

}

printf("这个字符串的长度为:%d\n",i);

}

int strcmp1(char str1[],char str2[])

{

int i=0,j=0;

while(str1[i]!='\0')//循环找到\0为止即字符串str1的长度

{

i++;

}

while(str2[j]!='\0')//循环找到\0为止即字符串str2的长度

{

j++;

}

if(i>j) //如i>j则 1表示 str1的长度 大于str2的长度

{

printf("1");

}

if(i<j)

{

printf("-1"); //如i<j则 1表示 str1的长度 大于str2的长度

}

if(i==j) //如i=j则 1表示 str1的长度 等于str2的长度 ,则下面比较他们的大小

{

for(i=0;i<1000;i++)

{

if(str1[i]>str2[i])//循环比较如果找到 str1比str2大的字符那么字符串1比字符串2大打印1

{

printf("1");

break;

}

if(str1[i]<str2[i])//循环比较如果找到 str1比str2小的字符那么字符串1比字符串2小 打印-1

{

printf("-1");

break;

}

else

{

printf("0");//循环比较如果找到 str1与str2的字符全部相等那么字符串1和字符串2相等 打印0

break;

}

}

}

}

void main()

{

char str1[100],str2[100];

printf("请输入一个字符串:");

scanf("%s",str1);

strlen(str1); //strlen函数的调用

printf("请输入第一个字符串:");

scanf("%s",str1);

printf("请输入第二个字符串:");

scanf("%s",str2);

strcmp1(str1,str2); //strcmp1函数的调用

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: