c语言问题。输入数据要符合要求,不符合提示错误并重性输入 15
3个回答
展开全部
/*
092134179x:输入错误,继续输入,'#'结束
21344009764x:输入错误,继续输入,'#'结束
09213417921344009764
Press any key to continue
*/
#include <stdio.h>
#include <conio.h>
int main()
{ char ch = 0,s[36];
int i = 0;
while(1) {
ch = getch();
if(ch >= '0' && ch <= '9' && i < 35) {
s[i++] = ch;
putchar(ch);
}
else if(ch == '#') {
s[i++] = '\0';
break;
}
else {
printf("x:输入错误,继续输入,'#'结束\n");
continue;
}
}
printf("%s\n",s);
return 0;
}
092134179x:输入错误,继续输入,'#'结束
21344009764x:输入错误,继续输入,'#'结束
09213417921344009764
Press any key to continue
*/
#include <stdio.h>
#include <conio.h>
int main()
{ char ch = 0,s[36];
int i = 0;
while(1) {
ch = getch();
if(ch >= '0' && ch <= '9' && i < 35) {
s[i++] = ch;
putchar(ch);
}
else if(ch == '#') {
s[i++] = '\0';
break;
}
else {
printf("x:输入错误,继续输入,'#'结束\n");
continue;
}
}
printf("%s\n",s);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
main()
{
int a;
printf("input an integer:\n");
scanf("%d",&a);
for(;a!=0&&a!=1&&a!=2;)
{ printf("input error,repeat:\n");
scanf("%d",&a);
}
printf("\ninput correct");
}
main()
{
int a;
printf("input an integer:\n");
scanf("%d",&a);
for(;a!=0&&a!=1&&a!=2;)
{ printf("input error,repeat:\n");
scanf("%d",&a);
}
printf("\ninput correct");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int a;printf("input a num:");
while(scanf("%d",&a)!=1||a!=0&&a!=1&&a!=2)
{printf("error,input again:");
while(getchar()!='\n');}
while(scanf("%d",&a)!=1||a!=0&&a!=1&&a!=2)
{printf("error,input again:");
while(getchar()!='\n');}
更多追问追答
追问
while(getchar()!='\n')什么意思?
追答
如果输入的东西不是int型的话,a无法得到,东西留在输入缓冲带,用while(getchar()!='\n')读掉这些东西,不然会留在缓冲带,再要输入时就会受到阻碍
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询