| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6888 人关注过本帖
标题:用whlie语句。输入10个整数,求最大值和最小值平均值。为什么不能这样写啊
只看楼主 加入收藏
菜鸟一只呀
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2012-10-30
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:11 
用whlie语句。输入10个整数,求最大值和最小值平均值。为什么不能这样写啊
#include <stdio.h>

int main()
{
    int counter,total,x,max,min;
    double average;  
    counter=1;
    total=0;

    printf("请输入整数:");
    scanf("%d", &x);

    while (counter <= 9)
    {
        max=x;
        min=x;
        counter++;

        printf("请输入整数:");
        scanf("%d", &x);

        if(min > x)
            min=x;
        if(max > x)
            max=x;

    }
    printf("最小值是:%d\n", min);   
    printf("最大值是:%d\n", max);
    printf("平均值是:%d\n", total / 10.0);
    return 0;
    }

搜索更多相关主题的帖子: max total average counter include 
2012-11-13 21:29
Eaya
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2012-10-17
收藏
得分:0 
printf("平均值是:%d\n", total / 10.0);里面是%f应该,有double到int 有损失,编译器好像会出现警告吧,还有你那个total干啥的,没出现过么平均值不是average么。。。
2012-11-13 21:36
GeBron
Rank: 2
等 级:论坛游民
帖 子:23
专家分:33
注 册:2011-4-14
收藏
得分:0 
if(max > x)
            max=x;

改成:

if (max < x)
    max = x;
2012-11-13 21:37
菜鸟一只呀
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2012-10-30
收藏
得分:0 
回复 2楼 Eaya
恩恩。。。原来是这样的。。。就是最大值和最小值不正确耶

#include <stdio.h>

int main()
{
    int counter,total,x,max,min;
    double average;  
    counter=1;
    total=0;

    printf("请输入整数:");
    scanf("%d", &x);

    while (counter <= 9)
    {
        max=x;
        min=x;
        counter++;
        total+=x;

        printf("请输入整数:");
        scanf("%d", &x);

        if(min > x)
            min=x;
        if(max > x)
            max=x;

    }
    printf("最小值是:%d\n", min);   
    printf("最大值是:%d\n", max);
    printf("平均值是:%lf\n", total / 10.0);
    return 0;
    }

2012-11-13 21:41
cyuyancqy
Rank: 2
等 级:论坛游民
帖 子:22
专家分:59
注 册:2012-10-31
收藏
得分:0 
你这个程序思想不对,算法有问题,你自己看下程序就知道了,乱的很。
2012-11-13 21:42
cyuyancqy
Rank: 2
等 级:论坛游民
帖 子:22
专家分:59
注 册:2012-10-31
收藏
得分:0 
你搜下这个程序很多,你多看看他们是怎么搞的。
2012-11-13 21:43
Eaya
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2012-10-17
收藏
得分:0 
回复 4楼 菜鸟一只呀
还有就是那个最大值那个max<x,这样就好了吧
2012-11-13 21:44
菜鸟一只呀
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2012-10-30
收藏
得分:0 
我改了之后。。。就差最小值不正确了,这是怎么回事哦


#include <stdio.h>

int main()
{
    int counter,total,x,max,min;
    double average;  
    counter=1;
    total=0;

    printf("请输入整数:");
    scanf("%d", &x);

    while (counter <= 9)
    {
        max=x;
        min=x;
        counter++;
        total+=x;

        printf("请输入整数:");
        scanf("%d", &x);

        if(min >= x)
            min=x;
        if(max <= x)
            max=x;

    }
    printf("最小值是:%d\n", min);   
    printf("最大值是:%d\n", max);
    printf("平均值是:%lf\n", total / 10.0);
    return 0;
    }

2012-11-13 21:45
未名湖的云
Rank: 3Rank: 3
来 自:安徽
等 级:论坛游侠
帖 子:130
专家分:190
注 册:2012-10-11
收藏
得分:10 
回复 楼主 菜鸟一只呀
#include <stdio.h>

int main()
{
    int counter,total,x,max,min;
    double average;  
    counter=1;
    total=0;
   
    printf("请输入整数:");
    scanf("%d", &x);
    max=x;//这个写在外面,不然while循环,max和min都是输入的x,
    min=x;//这个写在外面
    total+=x;//这个先放外面,第一个数加到total里
    while (counter <= 9)
    {

        counter++;
        
        printf("请输入整数:");
        scanf("%d", &x);
        total+=x;//这里输入一个就求一次和
        if(min > x)
            min=x;
        if(max < x)//max要这样写~~~~
            max=x;
   
    }
    printf("最小值是:%d\n", min);   
    printf("最大值是:%d\n", max);
    printf("平均值是:%f\n", total/10.0);//这里的均值不要用%d,这样得不到小数,因为total/10.0与%d无法一致~~~~~
    return 0;
}
2012-11-13 21:45
菜鸟一只呀
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2012-10-30
收藏
得分:0 
回复 9楼 未名湖的云
嗯嗯嗯。。。。谢谢啦。。今天想了半天就是没找到哪里错了、、嘿嘿,,编程很有趣
2012-11-13 21:48
快速回复:用whlie语句。输入10个整数,求最大值和最小值平均值。为什么不能这样 ...
数据加载中...
 
   



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

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