标题:你们看得出问题出哪里了吗?
取消只看楼主
gino86
Rank: 2
等 级:论坛游民
帖 子:66
专家分:77
注 册:2010-9-17
结帖率:100%
已结贴  问题点数:20 回复次数:2 
你们看得出问题出哪里了吗?
程序代码:
#include <stdio.h>
#include <ctype.h>

int main(void)
{
    char answer = 'N';
    double total = 0.0;
    double value = 0.0;
    int count = 0;

    printf ("\nThis program calculates the average of any number of values.");

    for ( ; ; )
    {
        printf ("\nEnter a value: ");
        scanf ("%lf",&value);
        total += value;
        ++count;

        printf ("Do you want to enter another value ? (Y or N):");
        scanf ("%c",&answer);//这里本来要用户输入y 或者n确定是否继续循环,但是编译后无法输入y or n,编译一下就明白了。

        if (tolower (answer)== 'n')

        break;
    }
    printf ("\nThe average is %.2f\n",total/count);
    return 0;
}


可能问题描述得不是很清楚,但是大家运行一下就会明白了。

[ 本帖最后由 gino86 于 2010-10-5 00:28 编辑 ]
搜索更多相关主题的帖子: 看得出 
2010-10-05 00:27
gino86
Rank: 2
等 级:论坛游民
帖 子:66
专家分:77
注 册:2010-9-17
得分:0 
以下是引用御坂美琴在2010-10-5 00:36:41的发言:

scanf ("%c",&answer); 改成 scanf (" %c",&answer);

为什么要留一空格呢?不是太明白哦。
2010-10-05 00:39
gino86
Rank: 2
等 级:论坛游民
帖 子:66
专家分:77
注 册:2010-9-17
得分:0 
以下是引用御坂美琴在2010-10-5 00:40:41的发言:

任意空字符匹配任意个连续的空字符,用空格把换行什么的匹配了,那你的answer就不会收到不可见字符

受教了,谢谢哦
2010-10-05 00:43



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-322003-1-1.html




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

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