c语言编程:输入n(<=10)个人名,存入一个数组name中,以从小到大的顺序输出,怎么做?

要求:1.n由键盘输入,1<=n<=10,输入错误要有提示并退出程序。2.不得使用字符串处理库函数。3.名字比较用自定义函数完成。4.输入时名字间可用间隔或回车隔开。5.... 要求:
1.n由键盘输入,1<=n<=10,输入错误要有提示并退出程序。
2.不得使用字符串处理库函数。
3.名字比较用自定义函数完成。
4.输入时名字间可用间隔或回车隔开。
5.输出每行一个名字。
展开
 我来答
White_MouseYBZ
2020-04-30 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6640万
展开全部

代码文本:

#include "stdio.h"

int mystrcmp(const char *a,const char *b){

while(*a==*b && *a && *b)

a++,b++;

return *a-*b;

}

int main(int argc,char *argv[]){

char name[10][25],*p[10],*q,i,k,t,n;

printf("Enter n(int 0<n<11)...\n");

if(scanf("%d",&n)==1 && n>0 && n<11){//输入n,有错提示并退出

for(i=0;i<n;scanf("%24s",p[i]=name[i++]));//输入n个人名

putchar('\n');

for(i=0;i<n;i++){//人名排序

for(k=i,t=k+1;t<n;t++)

if(mystrcmp(p[k],p[t])>0)

k=t;

if(k!=i)

q=p[k],p[k]=p[i],p[i]=q;

printf("%s\n",p[i]);//输出

}

}

else

printf("Input error, exit...\n");

return 0;

}

供参考。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式