64,651
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <string.h>
char s[80];
int i;
char c;
int main() {
while (1) {
printf("Input a integer:");fflush(stdout);
rewind(stdin);
fgets(s,80,stdin);
if (strlen(s)>10) {
printf("Input too long(>9)!\n");
continue;
}
if (2==sscanf(s,"%d%c",&i,&c)) {
if ('\n'==c) {
printf("%d is a integer.\n",i);
break;
}
}
if ('\n'==s[strlen(s)-1]) s[strlen(s)-1]=0;
printf("\"%s\" is NOT a integer!\n",s);
}
return 0;
}
#include <stdio.h>
#include <string.h>
char s[80];
double d;
char c;
int main() {
while (1) {
printf("Input a double:");fflush(stdout);
rewind(stdin);
fgets(s,80,stdin);
if (strlen(s)>20) {
printf("Input too long(>20)!\n");
continue;
}
if (2==sscanf(s,"%lf%c",&d,&c)) {
if ('\n'==c) {
printf("%lg is a double.\n",d);
break;
}
}
if ('\n'==s[strlen(s)-1]) s[strlen(s)-1]=0;
printf("\"%s\" is NOT a double!\n",s);
}
return 0;
}
int a;
cin>>a;
if(cin.good())
{
//输入正确
}
else
{
//输入错误;
}