| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 510 人关注过本帖, 1 人收藏
标题:请大家帮忙写一个函数
只看楼主 加入收藏
snailqiu
Rank: 2
等 级:论坛游民
帖 子:59
专家分:45
注 册:2007-9-26
结帖率:100%
收藏(1)
 问题点数:0 回复次数:3 
请大家帮忙写一个函数
函数名:IsNum();类型:Int 无参数。
功能:int IsNum(void)要构建一个循环,在这个循环中,接受用户输入一个数字(0-9),如果用户输入的不是数字,则输出提示信息,(注意:如果用户输入一个“a”,提示"输入错误,请输入数字",如果用户输入的是“aa”,我写的代码会输出两行“输入错误,请输入数字”,很不美观。但我不知道如何改)如果用户输入的是数字,但是大于一位,则截取第一位,如输入123,则只保留1.

也就是说,此循环结束的条件是:只接受用户输入的1位整数(0-9),并返回给函数。

我写了一个多小时,就是写不出。

我现在还没有积分。无法给分。请高手帮忙!谢谢了。
搜索更多相关主题的帖子: 提示信息 如何 用户 
2013-07-03 14:37
snailqiu
Rank: 2
等 级:论坛游民
帖 子:59
专家分:45
注 册:2007-9-26
收藏
得分:0 
怎么没人回答呢?还是我自己来吧。大家看看对不对。
#include<stdio.h>
#include <ctype.h>
int IsNum(void);

int main()
{
   int a;
   a=IsNum();
   printf("您输入的是数字%d\n",a);     
           
}
int IsNum(void)
{
    int a;
    printf("请输入1个数字:\n\n");//提示用户输入
    while(a=getchar())
    {   
         fflush(stdin);  //清空输入缓冲区  
        if(isdigit(a)==0 )// 用isdigi判断,为0表示不是数字
            {
                fflush(stdin);//清空输入缓冲区,以免输入一个字符后按回车时把回车认为是下一个输入
                printf("这不是一个数字\n");
            }
          else //如果不为0,则表示是数字
               break; //退出循环
         
    }   
     switch (a)//对a的值进行选择。因为a存储的是ascii码。我需要的是十进制整数。
     {
         case 48: return 0;//ascii码48对应的十进制整数是0(以下类推)
         case 49: return 1;
         case 50: return 2;
         case 51: return 3;
         case 52: return 4;
         case 53: return 5;
         case 54: return 6;
         case 55: return 7;
         case 56: return 8;
         case 57: return 9;
         
     }
}
2013-07-04 16:15
changebook
Rank: 2
等 级:论坛游民
帖 子:4
专家分:10
注 册:2013-7-4
收藏
得分:0 
switch (a)//对a的值进行选择。因为a存储的是ascii码。我需要的是十进制整数。
     {
         case 48: return 0;//ascii码48对应的十进制整数是0(以下类推)
         case 49: return 1;
         case 50: return 2;
         case 51: return 3;
         case 52: return 4;
         case 53: return 5;
         case 54: return 6;
         case 55: return 7;
         case 56: return 8;
         case 57: return 9;
         
     }
这段可以修改为return a - '0';
2013-07-04 16:55
snailqiu
Rank: 2
等 级:论坛游民
帖 子:59
专家分:45
注 册:2007-9-26
收藏
得分:0 
回复 2楼 snailqiu
非常感谢。这样简洁多了。
2013-07-04 19:37
快速回复:请大家帮忙写一个函数
数据加载中...
 
   



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

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