| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1033 人关注过本帖
标题:9个数比较大小并输出最大值(含纠错)
只看楼主 加入收藏
我的又一书柜
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2017-2-23
收藏
 问题点数:0 回复次数:4 
9个数比较大小并输出最大值(含纠错)
#include"stdio.h"
void main()
{
    int SJ_gs,i;    //定义数据个数
    float x[9],max;    //定义数据类型和个数
    char k;
        printf("请输入待比较数的个数(按回车键继续):\n");
      J:scanf("%c",&k);
    SJ_gs=(int)k-'0';
    if(SJ_gs>=0&&SJ_gs<10)
    {
        for(i=0;i<SJ_gs;i++)
        {
            printf("请输入第%d个数(按回车键继续):\n",i+1);
            scanf("%f",&x[i]);
        }
        max=x[0];
        for(i=1;i<SJ_gs;i++)
        {  
            if(x[i]>max)
                max=x[i];
        }
        system("cls");
        printf("最大数为%g",max);
    }
    else
    {
        printf("输入错误!!!\n请输入范围(0~10)之间的任意数\n");
        goto J;
    }
}
当输入待比较数的个数为“q”时,为何错误信息会提示两遍?
搜索更多相关主题的帖子: 最大值 include 
2017-02-23 14:42
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:0 
程序代码:
#include <stdio.h>

int main( void )
{
    for( char c; scanf("%c",&c)==1; )
        printf( "ASC value = %hhd\n", c );
}

运行上面的代码,你输入q并回车,看看输出几个字符?
2017-02-23 14:49
我的又一书柜
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2017-2-23
收藏
得分:0 
回复 2楼 rjsp
我程序实现的目的是要比较数的大小,如果输入字母不进行比较,提示输入错误!
2017-02-23 14:59
czzts
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-11-2
收藏
得分:0 
J:scanf("%c",&k);
是不是当你输入字母q后回车,根据以上代码编译器把你输的字母q和回车(回车也是一种特殊字符)都认为是输入内容了,这样就出现了2次错误提示。
你试试什么都不输直接按回车,也会跳一次错误提示,输入一个字母再加一个空格后回车就会跳3次错误提示。
不知道我的分析是不是搭边,请各位高手多多指教。

收到的鲜花
2017-02-23 16:13
我的又一书柜
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2017-2-23
收藏
得分:0 
回复 4楼 czzts
谢了,你的回复让我突然想起了scanf函数与gets函数的区别~
2017-02-23 16:56
快速回复:9个数比较大小并输出最大值(含纠错)
数据加载中...
 
   



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

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