c++环境下,编辑.c程序,要求输入数字,显示出来,若输入的是其他字符,提示输入非法。 写完,试

c++环境下,编辑.c程序,要求输入数字,显示出来,若输入的是其他字符,提示输入非法。 写完,试运行再给我吧,谢谢了~

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

int main()

{

int i,tag;    /*tag用于表示输入的数据是否为数字*/

    char str[10];   /*字符数组用于存放输入的数字*/

    tag=1;  /*tag=1表示输入的数据是数字*/

    printf("请输入数据\n");

    scanf("%s",str);

    i=0;

    while(str[i]!='\0')

     {

       if (str[i]>='0' && str[i]<='9')       /*判断输入的值是否为数字*/

           i++;

       else 

          {

            tag=0;   /*tag=0表示输入的数据不是数字*/

            break;

          }

     }

     if (tag)

        printf("%s\n",str);

     else

        printf("输入非法数字\n");

system("pause");

return 0;

}

程序运行结果如下

追问

很不错,可是这个问题之前就采纳了,辛苦了啊,十分感谢~

不然肯定采纳你的。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-09-24

#include <iostream>

#include <string>

using namespace std;

int main()

{

char test[1024] = {0};

int state = 0;

cout<<"please input:"<<endl;

cin>>test;

for(int i=0;test[i]!='\0';i++)

{

if((test[i])>='0'&&(test[i])<='9')

continue;

else

{

cout<<"输入的数中有非法字符"<<endl;

state = 1;

break;

}

}

if(state == 0)

cout<<test<<endl;

return 0;

}

追答

哥,不懂欣赏,我的可是可以输入n位判断的

追问

额,对不住了,我知道你这个很好,可是不适合我用额,辛苦了~

本回答被网友采纳
第2个回答  2014-09-24
#includ<stdio.h>
main(){
char ch;
ch=getchar();
if(ch>=0&&ch<=9){
printf(" %c",ch );
}
else {
printf("非法数字!\n");
}
}追问

这样数字只能是一位的。

貌似这个问题不好处理。

本回答被提问者采纳
第3个回答  2014-09-24
真假!追问

说什么呢,孩子。

相似回答