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函数的调用
}