| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 306 人关注过本帖
标题:C语言输出问题求教
只看楼主 加入收藏
空白先生
Rank: 2
等 级:论坛游民
帖 子:115
专家分:95
注 册:2012-12-9
结帖率:92.86%
收藏
已结贴  问题点数:10 回复次数:3 
C语言输出问题求教
今天我写了一个游戏排名的程序,输入的时候很成功,可是无法输出,语法上没有显示错误,求各位大神找错。
#include<stdio.h>
#include<string.h>
int main()
{
    void exchange(int a,int b);
    void exchange2(char a[],char b[]);
    char a[100][100];
    int b[100],c[100],i,j;
    printf("过关数\t耗时\t队伍名\n");
    for(i=0;i<4;i++)
        {
            scanf("%d%d%s",&b[i],&c[i],a[i]);
        }
    for(i=0;i<4;i++)
        for(j=i;j<4;j++)
        {
            if(b[i]<b[i+1])
            {
                exchange(b[i],b[i+1]);
                exchange(c[i],c[i+1]);
                exchange2(a[i],a[i+1]);
            }
            if(b[i]==b[i+1])
            {
                if(c[i]>c[i+1])
                {
                    exchange(b[i],b[i+1]);
                    exchange(c[i],c[i+1]);
                    exchange2(a[i],a[i+1]);
                }
            }
        }
    printf("过关数\t耗时\t队伍名\n");
     for(i=0;i<4;i++)
        {
            printf("%d\t%d\t%s",b[i],c[i],a[i]);
        }
     return 0;
}
     void exchange(int a,int b)
     {
        int t;
        t=a;
        a=b;
        b=t;
     }
      void exchange2(char a[],char b[])
      {
        char d[100];
        strcpy(a,d);
        strcpy(b,a);
        strcpy(d,b);
      }
  所谓游戏排名指的是过的关越多花的时间越少的队伍排名越考前

[ 本帖最后由 空白先生 于 2012-12-11 17:57 编辑 ]
搜索更多相关主题的帖子: exchange include 游戏排名 C语言 
2012-12-11 17:47
jk_love
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:196
专家分:965
注 册:2012-10-22
收藏
得分:0 
void exchange(int a,int b)
     {
        int t;
        t=a;
        a=b;
        b=t;
     }
      void exchange2(char a[],char b[])
      {
        char d[100];
        strcpy(a,d);
        strcpy(b,a);
        strcpy(d,b);
      }
2012-12-11 18:20
小小战士
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:569
专家分:1313
注 册:2012-11-3
收藏
得分:10 
错在交换数组b和数组c中的元素时是值传递,应该用地址传递
再说一句,定义a[],b[]其实就是指针

#include<stdio.h>
#include<string.h>
int main()
{
   void exchange(int *a,int *b);
   void exchange2(char *a,char *b);
   char a[100][100];
   int b[100],c[100],i,j;
   printf("过关数\t耗时\t队伍名\n");
   for(i=0;i<4;i++)
   {
       scanf("%d%d%s",&b[i],&c[i],a[i]);
   }
   for(i=0;i<3;i++)
   for(j=i;j<4;j++)
   {
      if(b[i]<b[j])
      {
          exchange(&b[i],&b[j]);
          exchange(&c[i],&c[j]);
          exchange2(a[i],a[j]);
      }
      if(b[i]==b[j])
      {
          if(c[i]<c[j])
          {
              exchange(&b[i],&b[j]);
              exchange(&c[i],&c[j]);
              exchange2(a[i],a[j]);
          }
       }
    }
    printf("过关数\t耗时\t队伍名\n");
    for(i=0;i<4;i++)
    {
        printf("%d\t%d\t%s\n",b[i],c[i],a[i]);
    }
    return 0;
}
void exchange(int *a,int *b)
{
    int t;
    t=*a;
    *a=*b;
    *b=t;

}
void exchange2(char *a,char *b)
{
    char d[100];
    strcpy(d,a);
    strcpy(a,b);
    strcpy(b,d);
}
测试:
图片附件: 游客没有浏览图片的权限,请 登录注册


[ 本帖最后由 小小战士 于 2012-12-11 18:48 编辑 ]

小小战士,战士中的战斗机!
2012-12-11 18:39
空白先生
Rank: 2
等 级:论坛游民
帖 子:115
专家分:95
注 册:2012-12-9
收藏
得分:0 
soga,强大,谢了

printf("My goal is to be  good at computer")
2012-12-11 20:38
快速回复:C语言输出问题求教
数据加载中...
 
   



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

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