| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1358 人关注过本帖
标题:望您多多包涵,请您为鄙人指点。
取消只看楼主 加入收藏
wangnengchao
Rank: 2
等 级:论坛游民
帖 子:90
专家分:55
注 册:2011-5-2
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:9 
望您多多包涵,请您为鄙人指点。
昨晚复习C语言看到这样的一道题,可是鄙人写的不通用且不大符合题意。故请多多指导!由衷感谢!
/* 设计一个程序来处理一批0~100之间的实验数据。处理内容如下。
(1)对所有的实验数据进行逐一的分类,分类标准如下:
A类:0~29
B类:30~49
C类:50~59
D类:60~79
E类:80~100
(2)每输入一个实验数据后,要显示该数据所属的类别。
(3)最后输出实验数据的平均值及处理实验数据的数量 */
#include <stdio.h>
#define N 5
int main(void)
{
    int data[N],i,count=0;
    float sum=0;
    printf("Please input some datas(0~100): ");
    for(i=0;i<=N-1;i++)
    {
        scanf("%d",&data[i]);
        
        
            if(data[i]>0&&data[i]<=29)
            {
                printf("%d is belongs to A类\n",data[i]);
                                 
            }
            if(data[i]>29&&data[i]<=49)
            {
                printf("%d is belongs to B类\n",data[i]);
                                 
            }
            if(data[i]>49&&data[i]<=59)
            {
                printf("%d is belongs to C类\n",data[i]);
                                 
            }
            if(data[i]>59&&data[i]<=79)
            {
                printf("%d is belongs to D类\n",data[i]);
                                
            }
            if(data[i]>79&&data[i]<=100)
            {
                printf("%d is belongs to E类\n",data[i]);
                                 
            }
            
    sum=sum+data[i];
    count++;
    }
    printf("Average=%.2f\n The number of data handled is %d",sum/count,count);
    return 0;
   
}
搜索更多相关主题的帖子: 好心情 朋友 通用 C语言 
2011-06-24 16:53
wangnengchao
Rank: 2
等 级:论坛游民
帖 子:90
专家分:55
注 册:2011-5-2
收藏
得分:0 
回复 5楼 voidx
您好,请问  avg /= cnt ? : 1;是什么意思?运行出错,谢谢。
2011-06-24 17:55
wangnengchao
Rank: 2
等 级:论坛游民
帖 子:90
专家分:55
注 册:2011-5-2
收藏
得分:0 
回复 5楼 voidx
在您的帮助下我解决了,可是还是不明白您  avg /= cnt ? : 1;这有何高超之处,望您指点?谢谢。
2011-06-24 18:14
wangnengchao
Rank: 2
等 级:论坛游民
帖 子:90
专家分:55
注 册:2011-5-2
收藏
得分:0 
回复 8楼 voidx
哦,明白 是 avg /= cnt ? 0 : 1;就对了。。。。谢谢
2011-06-24 18:30
wangnengchao
Rank: 2
等 级:论坛游民
帖 子:90
专家分:55
注 册:2011-5-2
收藏
得分:0 
回复 9楼 wangnengchao
不不。。这样 avg /= cnt ?0:1;不对,还是麻烦您把这 avg /= cnt ?:1;写清楚,是不是漏什么了,如果光这样运行不了,出错。。。。。谢谢
2011-06-24 18:37
wangnengchao
Rank: 2
等 级:论坛游民
帖 子:90
专家分:55
注 册:2011-5-2
收藏
得分:0 
回复 12楼 voidx
使得,如果用这样 avg /= cnt ?:1;就不行,而用这样 avg /= cnt ?cnt:1;才行。。。。好了。。。真的很感谢您!
2011-06-24 18:43
wangnengchao
Rank: 2
等 级:论坛游民
帖 子:90
专家分:55
注 册:2011-5-2
收藏
得分:0 
回复 15楼 voidx
我用的是这个  C与C++程序设计学习与实验系统 2010.4
真的感谢您!佩服!
2011-06-24 18:50
wangnengchao
Rank: 2
等 级:论坛游民
帖 子:90
专家分:55
注 册:2011-5-2
收藏
得分:0 
回复 14楼 voidx
其实我感觉好像那样有点复杂,对我来说勉强理解,但自己根本就不会那样写,有没有更易懂的?哦哦,不好意思我多想了。抱歉~~
2011-06-24 19:01
wangnengchao
Rank: 2
等 级:论坛游民
帖 子:90
专家分:55
注 册:2011-5-2
收藏
得分:0 
其实应该是我没学得深入而有这样的感言的,您的代码真的很完美!
 while (getchar() != '\n');中的'\n'代表什么?
 printf("Classification: %c\n",
            d < 30 ? 'A' : d < 50 ? 'B' : d < 60 ? 'C' : d < 80 ? 'D' : 'E');
我这勉强知道是if语句的缩写。。。。。。谢谢。
2011-06-24 19:17
wangnengchao
Rank: 2
等 级:论坛游民
帖 子:90
专家分:55
注 册:2011-5-2
收藏
得分:0 
回复 20楼 voidx
呵呵,您解答很好,有很谦虚恭行,佩服佩服!拜膜~Thankful~
2011-06-24 20:04
快速回复:望您多多包涵,请您为鄙人指点。
数据加载中...
 
   



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

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