关于函数中传递地址值和结构体的一个小程序

程序功能:

读入五位用户的姓名和电话号码,按姓名的字典顺序排列后
(即从小到大排列),输出用户的姓名和电话号码
 

Code:
  1. #include<stdio.h>   
  2. #include<string.h>   
  3. typedef struct  
  4. {   
  5.  char a[20];   
  6.  int b[20];   
  7. }USER;   
  8. USER *px(USER *q)   
  9. {   
  10.  int m,n;   
  11.  USER t;   
  12.  for(m=0;m<4;m++)   
  13.  {   
  14.   for(n=m+1;n<5;n++)   
  15.    if(strcmp(q[m].a,q[n].a)>=0)   
  16.    {   
  17.     t=q[m];   
  18.     q[m]=q[n];   
  19.     q[n]=t;   
  20.    }   
  21.  }   
  22.  return q;   
  23. }   
  24. void sc(USER *p)   
  25. {   
  26.  int k;   
  27.  for(k=0;k<5;k++)   
  28.  {   
  29.   scanf("%s",p[k].a);/*注意scanf中空格为切断符*/  
  30.   scanf("%s",p[k].b);   
  31.  }   
  32.  p=px(p);   
  33.  printf("The name was small to big:/n");   
  34.  for(k=0;k<5;k++)   
  35.   printf("%s,%s/n",p[k].a,p[k].b);   
  36. }   
  37. main()   
  38. {   
  39.  USER c[5];   
  40.  sc(c);   
  41. }   

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值