程序功能:
读入五位用户的姓名和电话号码,按姓名的字典顺序排列后
(即从小到大排列),输出用户的姓名和电话号码
- #include<stdio.h>
- #include<string.h>
- typedef struct
- {
- char a[20];
- int b[20];
- }USER;
- USER *px(USER *q)
- {
- int m,n;
- USER t;
- for(m=0;m<4;m++)
- {
- for(n=m+1;n<5;n++)
- if(strcmp(q[m].a,q[n].a)>=0)
- {
- t=q[m];
- q[m]=q[n];
- q[n]=t;
- }
- }
- return q;
- }
- void sc(USER *p)
- {
- int k;
- for(k=0;k<5;k++)
- {
- scanf("%s",p[k].a);/*注意scanf中空格为切断符*/
- scanf("%s",p[k].b);
- }
- p=px(p);
- printf("The name was small to big:/n");
- for(k=0;k<5;k++)
- printf("%s,%s/n",p[k].a,p[k].b);
- }
- main()
- {
- USER c[5];
- sc(c);
- }