| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 519 人关注过本帖
标题:请教:这个程序哪里出错了?为什么运行的结果那么奇怪呢?
只看楼主 加入收藏
sjt122300
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-10-27
收藏
 问题点数:0 回复次数:5 
请教:这个程序哪里出错了?为什么运行的结果那么奇怪呢?
#include<stdio.h>
#include<ctype.h>
void main()
{
char answer='N';
double total=0.0;
double value=0.0;
int count=0;
printf("this program caculated the average of");
for( ;; )
{
printf("\nenter a value:");
scanf("%f",&value);
total+=value;
++count;
printf("do you want to enter another value?( N or Y ):");
scanf("%C",&answer);
if(tolower(answer)=='n')
break;
}
printf("\nthe average iS %.2f\n",total/count);
system("pause");
}
这个程序不能求平均值,为什么呢?
搜索更多相关主题的帖子: 结果 运行 
2008-10-27 22:04
风居住的街道
Rank: 1
等 级:新手上路
帖 子:374
专家分:0
注 册:2008-10-24
收藏
得分:0 
程序代码:
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

int main(void)
{
    int count = 0;
    double value = 0.0, total = 0.0;
    printf("this program caculated the average of:");
    for (count = 0; scanf("%lf", &value) == 1; count++)
        total += value;
    printf("the average iS %.2f\n", total / count);
    system("pause");
    return 0;
}

测试:
this program caculated the average of:12 13 14 end
the average iS 13.00
请按任意键继续. . .

[[it] 本帖最后由 风居住的街道 于 2008-10-27 22:35 编辑 [/it]]
2008-10-27 22:34
hjmHhyp
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-10-9
收藏
得分:0 
回复 1# sjt122300 的帖子
tolower(answer)//system("pause");啥意思?
2008-10-27 22:41
huadiw
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2008-10-27 23:22
风居住的街道
Rank: 1
等 级:新手上路
帖 子:374
专家分:0
注 册:2008-10-24
收藏
得分:0 
LS:一个问题,%C接受wchar_t而不是char,这样会导致内存泄露。
如果非要这么写,考虑这个实现(注意%c前面的空格):
scanf(" %c", &answer);
2008-10-27 23:33
huadiw
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2008-10-27 23:37
快速回复:请教:这个程序哪里出错了?为什么运行的结果那么奇怪呢?
数据加载中...
 
   



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

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