标题:我写的这个程序编号从小到大排列,名字也要跟着变换,为什么不对?
取消只看楼主
Davieyu
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2016-6-28
结帖率:100%
已结贴  问题点数:8 回复次数:0 
我写的这个程序编号从小到大排列,名字也要跟着变换,为什么不对?
#include<stdio.h>
#include<string.h>
void main()
{
    int a[10];char str[10];
    int *p1=a;char *p2=str;
    int i;
    void exchange(int *p1,char *p2);
    printf("please enter interger number and name:");
    for(i=0;i<=9;i++)
    {    scanf("%d",p1++);                  //输入名字   
    }   
        for(i=0;i<=9;i++)                                
        {  scanf("%s",p2++);                    //输入学号
        if(*(a+i)>*(a+i+1))
         exchange(p1,p2);                     
        }
           for(p1=a;p1<=a+10;p1++)
           {  printf("%d\n",*p1);
               printf("%s\n",p2);
           }
}
 


           void exchange(int *p1,char *p2)    //学号从小到大排列,名字跟着一起变
           {       int temp;char *s;
                 {temp=*p1;
                  *p1=*(p1+1);
                  *(p1+1)=temp;
                                   strcpy(s,p2);
                   strcpy(p2,p2+1);
                  strcpy(p2+1,s);
                 }
      
           }
搜索更多相关主题的帖子: exchange include please number 
2016-07-03 13:02



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-466581-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.051633 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved