{ printf("您输入的是%s\n",s);break;} } }
int main (void){ int i,r;printf ("请输入一个数字: ");r=scanf ("%d", &i);if(r==0)printf("输入错误,重新输入");else printf ("%d",i);return 0;} 有不懂的问我。
1输入数值不能超过100位数值,当然可将程序中的100改为更大值 2若要输入浮点值,可将atoi 改为atof 函数
{ int n=0;while(n!=99999){ if((scanf("%d",&n)==0)){ printf("错误!!请重新输入\n");fflush(stdin);continue;} else printf("OK!!!\n");} } 运行结果:1234 OK!!!abcd 错误!!请重新输入 a 错误!!请重新输入 12345678 OK!!!aaa 错误!!请重新输入 99999 OK!!!请按任意键...
1、scanf格式%f不要限制位数,直接写%f就行。2、scanf多个参数,格式不指定分割符,直接写”%f%f%f“就行。默认分割符号是空格。但是你加了逗号,那么输入就必须按照指定分割符号输入,在每次输入一个必须加一个逗号。你可以输入“数字,数字,数字 回车”,也可以输入“数字,回车 数字,回车 数字,回车...
scanf("%[0-9]",s);//只能输入数字字符到字符串数组s,忽视其他字符
scanf("%d",&sum);//scanf在输入非数字数据时,不会改变sum的值 //while(sum<0 || sum>4) 这里用while虽然不出错,但意义却不对,要正确使用控制语句 if(sum<1 || sum>4) //你的选项是1-4有效,就要检查输入数据是否在1-4之间,其他无效退出。{ printf("输入错误,程序结束\n");...
1.由于你输入的这一串数据可能都为数字,也可能包含其它字符,所以首先用一字符数组存放这个字符串。2.用strlen函数计算这个字符串的长度,在此基础上借助for循环或while循环实现数组元素的遍历。3.遍历每一个元素的同时用if语句判断这个元素的ascii码所在的范围是否在48~57之间,如果不在则中止循环,输出...
你可以先输入 ‘1’~‘9’ 即把ASKII码 定死 大于'1' 小于'9' 输入不再这么范围就重新输入 然后用atoi 函数把char 型的 '1'~'9' 转换为int 型