| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
ADSL如何秒变专线,公网IP盒子了解一下千里之行 始于足下
共有 362 人关注过本帖
标题:程序运行的结果,第三组于答案不一致怎么改
只看楼主 加入收藏
冬青123
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2019-4-15
结帖率:90.91%
  已结贴   问题点数:10  回复次数:6   
程序运行的结果,第三组于答案不一致怎么改
#include<stdio.h>
struct stud {
    char name[30];
    float score[4];
    float total;
    float average;
};
int main(void)
{
    struct stud st[5];
    int  i,j;
    for(i=0;i<5;i++) {
        scanf("%s",st[i].name);
        for(j=0;j<4;j++)
            scanf("%f",&st[i].score[j]);
    }
    for(i=0;i<5;i++) {
        st[i].total=0;
        for(j=0;j<4;j++)
            st[i].total+=st[i].score[j];
        st[i].average=st[i].total/4;
        printf("%.1f\n",st[i].average);
    }
    return 0;
}
答案
75.0
65.0
77.3
85.8
82.5
搜索更多相关主题的帖子: 运行 答案 score average for 
2019-06-05 21:36
吕孟伟
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:10
帖 子:89
专家分:414
注 册:2018-10-4
  得分:4 
老哥,把你的输入写出来啊!
2019-06-05 21:55
冬青123
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2019-4-15
  得分:0 
回复 2楼 吕孟伟
输入
aaa 90 80 70 60
bbb 80 70 60 50
ccc 89 77 55 88
ddd 98 87 75 83
eee 99 88 77 66
输出
75.0
65.0
77.2
85.8
82.5
2019-06-05 23:22
冬青123
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2019-4-15
  得分:0 
哪里错了
2019-06-06 00:02
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:313
帖 子:6509
专家分:37778
注 册:2011-1-18
  得分:4 
首先赞美2楼。我也想不通题主为什么一开始不肯贴输入信息和输出信息

回正题,题目描述罗嗦,简化一下就是: 为什么 printf( "%.1f\n", 77.25 ) 在题主机器上输出为 77.2,而他的老师却说输出为 77.3 ?

这个是因为C标准没规定printf需要怎么取舍,TC/VC等使用奇怪的“四舍五入”,gcc/clang等使用常见的“四舍六入无成双”。所以严格来说,是他的老师水平太次
收到的鲜花
  • 幻紫灵心 于 2019-06-07 15:24 送鲜花  2朵   附言:别舍不得了,送吧!
2019-06-06 09:09
冬青123
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2019-4-15
  得分:0 
回复 5楼 rjsp
这是改正后的题目,正确答案在下面
程序的功能是输入多名学生的姓名及其四科成绩,输出每一名学生的平均成绩。调试运行以下程序,改正其中的错误。
#include
struct stud
    {  
 char name[30];
       float score[4];
       float total;
       float average;
    }
     int main(void)
    {
        struct   stud   st[5];
        int  i,j;
        for(i=0;i<5;i++)
        {
          scanf("%s",st[i].name);   
          for(j=0;j<4;j++)
              scanf("%f",st[i].score[j]);
 
         }
        
        for(i=0;i<5;i++)
        {
          st[i].total=0;   
          for(j=0;j<4;j++)
              st[i].total+=st[i].score[j];
          st[i].average=st[i].total/4;
          printf("%.1f\n",st[i].average);
        }
        return 0;
}
要求:
输入五名学生的姓名及四科成绩,数据之间以空格或回车间隔,分行输出五个平均值,保留一位小数(四舍五入)。
 
Input

按照题目描述输入。
Output

按照题目描述输出。
Sample Input

aaa 90 80 70 60
bbb 80 70 60 50
ccc 89 77 55 88
ddd 98 87 75 83
eee 99 88 77 66
Sample Output

75.0
65.0
77.3
85.8
82.5


include <stdio.h>
struct stud
{   char name[30];
    float score[4];
    float total;
    float average;
};
int main(void)
{   struct   stud   st[5];
    int  i,j;
    for(i=0; i<5; i++)
    {   scanf("%s",&st[i].name);
        for(j=0; j<4; j++)
        {
            scanf("%f",&st[i].score[j]);
        }
    }
    for(i=0; i<5; i++)
    {
        st[i].total=0;
        for(j=0; j<4; j++)
            st[i].total+=st[i].score[j];
        st[i].average=st[i].total/4;
        printf("%.1f\n",st[i].average+0.04);
    }
    return 0;
}
2019-06-06 21:26
冬青123
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2019-4-15
  得分:0 
回复 5楼 rjsp
我老师是计算机学院教授,副院长
2019-06-06 21:26







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

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