存储一组姓名,如Apple,Tom,Green,Jack 要求按照字典序排序并显示。 输入格式 输入第一行为样例数m,对于每个样例,第一行为人数n,接下来有n个姓名,n不超过10,每个名字长度不超过20。 输出格式 对于每个样例输出排序后的结果,每行一个姓名。 样例输入复制 1 4 Apple Tom Green Jack 样例输出复制 Apple Green Ja...
int main() { char students[10][21]; //声明一个二维数组,存放10个同学名字 for (int i = 0; i < 10; ++i) { scanf("%s", students[i]); } for (int i = 0; i < 9; ++i) { for (int j = i + 1; j < 10; ++j) { if (strcmp(students[i], students[j]) >= 0) { /...
按照C语言语法,main函数须为void类型;另外,你所编辑的程序段没有输入。就排序方式来讲你所用的是函数的址传递及字符串比较大小的函数,这点没有错误;就理解而言strcmp函数的确可以实现你所需的功能,其大小的比较式按ASCⅡ码值进行的比较,不知道你有没有意识到。
1 将100个人的姓名,存到二维字符数组中 2 通过strcmp比较。 通过strcpy赋值。 对二维字符数组进行排序 3 输出排序的结果。排序中,除了比较和赋值与普通的整型数组排序不同外,其他的 都一样。
strcpy(c[j].a,c[j+1].a);//上面if成立成绩b对应的名字交换;strcpy(c[j+1].a,d);} } } printf("\n");for(int i=0;i<n;i++)//循环打印排序后的人名和成绩;{ printf("%s %d\n",c[i].a,c[i].b);} return 0;} 根据你的描述,这是大致代码;可能有些瑕疵,你根据原...
当然 要把名字(字符串)全化成大写或全小写再比较。假定都是小写:include<stdio.h> struct TXL { char name[20]; char phone[20]; char address[50]; // 你还可以添别的项,不一定是 char 型 };define N 4 // 例子里用 4 个人 int main(){ struct TXL txl[N]={ "zhang","...
typedef struct Student { char name[20]; //名字 int grade; //成绩 } 初始化各个实例:struct Student Jack, Tom, Tim;将各个成员赋值:Jack.name[20] = Jack;Jack.grade = 63;以此类推。排序的具体方法也不难,自己看看书吧。使用结构体的好处就是将一组与一个事物相关的数值放在一...
include <stdio.h>#include <math.h>#include <string.h>int main(){ int i,j; char name[6][20],temp[20]; gets(name[0]); for(i=1;i<6;i++) //采用insertion sort方法对字符串进行字典序排序 { j=i; gets(temp); while(j>0&&strcmp(temp,name[...
void main(){ char name[10][20],temp[20];int i,j,k;for(i=0;i<10;i++){ printf("please input the %d name : ",(i+1));scanf("%s",name[i]);} /*将输入的10个名字排序*/ for(i=0;i<9;i++){ for(j=i+1;j<10;j++){ if(strcmp(name[i],name[j])>0){ st...