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

要求:
1.n由键盘输入,1<=n<=10,输入错误要有提示并退出程序。
2.不得使用字符串处理库函数。
3.名字比较用自定义函数完成。
4.输入时名字间可用间隔或回车隔开。
5.输出每行一个名字。

代码文本:

#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;

}

供参考。

温馨提示:内容为网友见解,仅供参考
无其他回答

c语言编程:输入n(<=10)个人名,存入一个数组name中,以从小到大的顺序输出...
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...

...的计算机成绩存入一维数组a,按从低到高的顺序输出。答好加分~_百度...
变量i,用以表示排序次数,每次将最大的数(最高的分数)放置于最末。当i=0时,将score[0]至score[9]中最大的放置于score[9]中。当i=1时,将score[0]至score[9-1]中最大的放置于score[9-1]中。当i时,将score[0]至score[9-i]中最大的放置于score[9-i]中。这是怎样做到的?这正...

c语言中从键盘输入N个字符串,将字符串按从小到大的顺序排列并输出
代码如下:define N 10 int main(){char str[N][100]; int i,j; for(i = 0; i < N; i ++) scanf("%s",str[i]); for(i = 0; i < N-1; i ++) { for(j = i+1; j < N; j ++){ if(strcmp(str[i],str[j])>0) { char temp[100]; strcpy(temp,str[i])...

C语言程序设计:要求从键盘输入10个整数存入一维数组,将他们按升序排序...
一楼,排序要用双循环才行吧 这个是调试通过的 include <stdio.h> main(){ int i,j,tmp,num[10];printf("Input 10 numbers:");for(i=0;i<10;i++) scanf("%d",&num[i]);for(i=0;i<10;i++){ for(j=i+1;j<10;j++)if(num[i]>num[j]){ tmp=num[i];num[i]=num[j...

...输入10个整数存放到数组中,然后进行从小到大的排序,最后输出该数...
int main(void){ int arr[10],i,j,temp,k;printf("please input ten data : ");for(i=0;i<10;i++)scanf("%d",&arr[i]);\/*从小到大排序*\/ for(i=0;i<9;i++){ temp = arr[i];for(j=i+1;j<10;j++){ if(temp>arr[j])k = j;} arr[i] = arr[k];arr[k] =...

C语言数组从键盘输入10个整数存入数组,找出其中最大和最小值,并输出...
在C语言中,一个程序可以通过键盘输入10个整数,并将它们存储在一个数组中。接着,程序会找出数组中的最大值和最小值,并将这两个数值输出。以下是这个过程的代码实现:#include<stdio.h> intmain(){ inti;floatnum[10];printf("请输入10个数,每输入一个数按回车键结束:\\n");for(i=0;...

C语言 从键盘输入10个整数,将这10个整数按从小到大的顺序输出。
1、打开软件进入页面,点击文件-新建-文件-C++ Source File。2、输入预处理命令和主函数:#include<stdio.h>\/*输入输出头文件*\/void main()\/*空类型:主函数*\/。3、定义变量和数组的数据输入10个数:int a[10],i,t;\/*定义变量和数组数据类型为整型*\/printf("输入10个整数:");\/*输出文字...

...10的int类型数组,从键盘输入其元素,然后从小到大排序后输出。_百度...
define N 10 int main(int argc,char *argv[]){ int a[N],i,j,k;printf("Please enter %d integer(s)...\\n",N);for(i=0;i<N;scanf("%d",a+i++));\/\/输入 printf("\\nAfter ascending sort of output:\\n");for(i=0;i<N;i++){ for(k=i,j=k+1;j<N;j++)if(a[k...

C语言编程输入10个整数存入数组a中然后按从打到小的顺序排序并输
编写一个C语言程序,用于输入10个整数存入数组a中,然后按照从大到小的顺序排序并输出。程序实现步骤如下:首先,引入必要的头文件<stdio.h>。接着,使用int main()函数作为程序的主入口。在主函数内部,定义一个整数型数组a[10]和两个整数变量i和j。使用for循环,从0到9遍历数组,输入每个元素的...

用C语言实现从键盘上输入不确定个数的数字,将数字从小到大排序后...
对于输入的数据的个数不确定的情况,一般会预设一个特殊的非法值(这个值是属于论域之外的一个值)作为终止值,例如如果论域是正整数,则通常会将0作为终止值,即当输入0时结束,且0不作为有效数据。 因此如果你要输入的都是正整数,则程序可如下(对于其它情况可采用类似方法) #include <stdi...

相似回答