c语言问题 望各位高人用TC解答

来源:百度知道 编辑:UC知道 时间:2024/05/22 01:59:48
定义函数void sort(int a[], int n), 用选择法对数组a中的元素排序。
在main()函数中输入n个数并调用sort()函数,最后在main()中输出排序
后的n个数。

定义函数char * longest(char s[][80], int n)。在main()中输入5个字符串
并保存到二维字符数组中,再调用函数longest()返回最长字符串的首地址,
最后在main()中输出最长的那个字符串。

定义函数void sort(char s[][80], int n),该函数对n个字符串按从大到
小顺序排序。在main()中输入5个字符串并保存到二维字符数组中,再调用
函数sort(),最后在main()中输出排序后的5个字符串。
提示:字符串比较可调用库函数strcmp(s1,s2),该函数返回值为正数则表
示s1 > s2。

void sort(int a[],int n)
{
int min,m,i,j;
for(i=0;i<n;i++)
{
min=a[i];
m=i;
for(j=i+1;j<n;j++)
if(a[j]<=min)
{
min=a[j];
m=j;
}
a[m]=a[i];
a[i]=min;
}
}
main()
{
int a[100];
int n,i;
printf("请输入序列元素的个数:");
scanf("%d",&n);
printf("请输入序列元素:");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
sort(a,n);
for(i=0;i<n;i++)
printf("%d",a[i]);
}

char*longest(char a[][80],int n)
{
int m=0,l=0,i,j;
for(i=0;i<n;i++)
{
j=0;
while(a[i][j]!='\0')
j++;
if(j>=l)
{
m=i;
l=j;
}
}
return a[m];
}
main()
{
char a[100][80];
int n,i;
char *p=NULL;
printf("请输入字符串个数:");
scanf("%d",&n);