| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1968 人关注过本帖
标题:为什么我输入两组数据却只是把最后一组数据重复两片输出呢?求回复,在线等 ...
只看楼主 加入收藏
SWCHY
Rank: 1
来 自:成都
等 级:新手上路
帖 子:10
专家分:0
注 册:2016-12-15
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:14 
为什么我输入两组数据却只是把最后一组数据重复两片输出呢?求回复,在线等急,谢谢
#include <stdio.h>
#include <stdlib.h>
#define N 100

int main()
{
    int n;
    while(~scanf("%d",&n))
    {
        int i;
        char name[N];
        char id[N];
        int math,chinese,english;
        for(i=0;i<n;i++)
        {
            scanf("%s %s %d %d %d",&id,&name,&math,&chinese,&english);
        }
        for(i=0;i<n;i++)
        {
            printf("%s,%s,%d,%d,%d\n",id,name,math,chinese,english);
        }
    }

    return 0;
}


[此贴子已经被作者于2016-12-15 19:23编辑过]

搜索更多相关主题的帖子: english include return 在线 
2016-12-15 19:16
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:5 
            scanf("%s %s %d %d %d",&id,&name,&math,&chinese,&english);
感觉输入格式容易出问题,把你的输入格式发来看看,最好是代码版的,图片也可以~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-12-15 19:34
SWCHY
Rank: 1
来 自:成都
等 级:新手上路
帖 子:10
专家分:0
注 册:2016-12-15
收藏
得分:0 
2
1 blue 90 80 70
b clan 80 70 60
2016-12-15 19:35
SWCHY
Rank: 1
来 自:成都
等 级:新手上路
帖 子:10
专家分:0
注 册:2016-12-15
收藏
得分:0 
2
a100 zhblue 70 80 90
b200 newsclan 90 85 75
发错了
2016-12-15 19:36
SWCHY
Rank: 1
来 自:成都
等 级:新手上路
帖 子:10
专家分:0
注 册:2016-12-15
收藏
得分:0 
本来应该输出
a100,zhblue,70,80,90
b200,newsclan,90,85,75
而我却是
b200,newsclan,90,85,75
b200,newsclan,90,85,75
2016-12-15 19:37
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
哎呀呀,要自修了,暂时不能帮你细看,还是留给其他人解答吧,不过你的输入格式是有很大问题的~,建议你看看scanf的用法~%d %d中间有个空格,会影响输入~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-12-15 19:46
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:5 
回复 楼主 SWCHY
你两遍输入用的是同一套变量,于是第二遍输入的值把第一遍的覆盖了,for循环指定了多少次,就会把最后一次输入的值输出多少次。
收到的鲜花
  • 九转星河2016-12-15 20:13 送鲜花  5朵   附言:我很赞同
2016-12-15 19:46
SWCHY
Rank: 1
来 自:成都
等 级:新手上路
帖 子:10
专家分:0
注 册:2016-12-15
收藏
得分:0 
那应该怎么办呢?
2016-12-15 19:50
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
这个我可以回一下,用数组保存每次的输入数据~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-12-15 19:57
bjut_Allen
Rank: 9Rank: 9Rank: 9
来 自:平乐园工业技术学校
等 级:蜘蛛侠
威 望:8
帖 子:323
专家分:1223
注 册:2016-10-16
收藏
得分:5 
#include <stdio.h>
#include <stdlib.h>
#define N 100

int main()
{
    int n;
    while(~scanf("%d",&n))
    {
        int i;
        char name[N];
        char id[N];
        int math,chinese,english;
        for(i=0;i<n;i++)
        {
            scanf("%s %s %d %d %d",id,name,&math,&chinese,&english);
            printf("%s,%s,%d,%d,%d\n",id,name,math,chinese,english);
       }
    }

    return 0;
}
如果这样不满意,只能定义结构体,开辟动态存储空间,然后输入输出

Code is my life.
2016-12-15 19:58
快速回复:为什么我输入两组数据却只是把最后一组数据重复两片输出呢?求回复,在 ...
数据加载中...
 
   



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

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