c语言怎么判断输入的是一个整数,不是则重新输入

判断输入的年份是不是闰年,输入一个数如果不是整数则重新输入,用C++也可以!谢谢!

这是一道题还是两道题?在这里我就先按两道题写了:
判断是否是闰年:
main()

int Year;
scanf(“%d”,&Year);
if(Year<1000||Year>9999)
{
if((Year%4==0 && Year%100!=0) || Year%400==0)
printf("%d年是润年",Year);
else
printf("%d年不是润年",Year);

else
{
printf("请输入正确的年份");
}
}

判断是否为整数:
main()
{
int Number;
scanf(“%d”,&Number);
while((int)Number!=Number)
{ //将输入的书强制转换为整形,如果两个数一致则输入的为整数
printf("不是整数,请重新输入:");
scanf(“%d”,&Number);
}
}追问

这是一道题~如果我想求输入年份是不是闰年,必须得输入一个年份是不~~但是如果我输入的是一个小数比如2003.5这个时候应该返回“不是整数,请重新输入”
谢谢您!

追答

我大一写这个的时候也一直在为判断是否为整数犯愁,重点也在这里,现在知道了这个方法就简单多了,一道题的话就把这个判断的语句加到第一段代码中间就好了。

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-06-01
#include<iostream>
using namespace std;
void main()
{
    char str[100];
    int num;
    while(cin>>str,sscanf(str,"%d",&num)!=1);
    if((num%4==0 && num%100!=0) || num%400==0)
        cout<<"闰年"<<endl;
    else
        cout<<"不是闰年"<<endl;
}

第2个回答  2018-03-24
int Number;
scanf_s("%d", &Number);
while ((int)Number != Number)
{ //将输入的书强制转换为整形,如果两个数一致则输入的为整数
printf("不是整数,请重新输入:");
scanf_s("%d", &Number);
}

c语言怎么判断输入的是一个整数,不是则重新输入
printf("%d年不是润年",Year);} else { printf("请输入正确的年份");} } 判断是否为整数:main(){ int Number;scanf(“%d”,&Number);while((int)Number!=Number){ \/\/将输入的书强制转换为整形,如果两个数一致则输入的为整数 printf("不是整数,请重新输入:");scanf(“%d”,&...

...输入一个值为正整数,如果不是提醒用户重新输入一个值”?
可以让用户输入一个字符串,然后检查每个字符是否是0~9中的任意一个,如果不是,则不是正整数。当然这里会允许000123这样的情况出现,即数字可以用0开头。如要处理,还需另外考虑,如果不考虑这个问题,可以写成如下的代码 include <stdio.h>main(){ char input[BUFSIZ]; printf("Input a positive...

在c语言中,要求用户输入的是整数,怎么判断当用户输入的是非整型时程序不...
if(i!=(int)i) { \/\/对i进行强制类型转换,判断转换成整型后的数是否和i的值相等 printf("您输入的数不是整型!请重新输入!"flag=0;\/\/输入的不是整数则将flag置为0 }while(!flag);\/\/判断!flag是否为真,若是则继续执行循环

C语言 如何判断输入的值是否为整数
你可以使用字符串输入,如果字符串中所有字符都是数字就把此字符串转换成整数进行运算,否则给出提示并且重新输入

C语言怎么用if判断一个输入数是不是整数
1、```这段代码中,我们使用if语句来判断输入的数是否为正整数。条件表达式“num0&&num%1==0”表示num大于0并且num除以1的余数为0,即num是正整数。2、floatx;inty;scnaf(%f,&x);y=x;if(y==x)printf(%d是整数。\\n,(int)x);elseprintf(%f不是整数。3、floatx;inty;scnaf(%f,&...

在C中如何判断输入的一个数是整数还是字符?
也就是说,字符就是数字,数字就是字符,只不过有些数字对应的字符无法显示在屏幕上,例如数字0对应'\\0',它就显示不出来...又例如,输入数字97,谁知道是字母a还是数字97~~~谁也判断不出来,人家C语言就这样存储字符的,要怪就怪美国的贝尔实验室,谁叫它这么开发的C呢~...

c语言中数据输入错误了如何提示输入错误并实现要求重新输入
下面是一个简单的程序框架,展示了如何实现输入错误的提示和重新输入:c include int main() { int input;while (1) { printf("请输入一个整数: ");if (scanf("%d", &input) != 1) { \/\/ 检查是否成功读取一个整数 printf("输入错误,请输入一个整数!重新输入。\\n"); \/\/ 提示输入错误...

在C语言中如何判断输入的内容为整数!!! 本人定义的是整型,想让当输入其...
先使用scanf把输入放到一个字符串str,然后对字符串str使用sscanf,判断sscanf的返回值 char str[1024];scanf("%s", str);int a;char tmp[1024];\/\/用来放垃圾 if(1 == sscanf(str, "%d%s", a, tmp)){ printf("是一个整数\\n");} ...

c语言编程中如何判断一个数是否为整数
C语言判断是否为整数,那么只可能是判断输入的值,或者字符串中的值,是否为整数。因为一旦存储在变量中,根据变量类型,要么为整数,要么为浮点数,是确定的。一、判断思路:1、整数中,按十进制计算,合法字符为0到9,另外在最初位置可以有符号,即+或者-。2、对于输入的值,可以先存储到字符串中,...

C语言中如何判断输入的数是否为整数?
t=*(p+j+1);(p+j+1)=*(p+j);(p+j)=t;} } } printf("升序排列后的数为:\\n");for(i=0;i<N;i++){ printf("%5d",*(p+i));} } 至于你说要如何去判断输入的一个数是整数而不是浮点数,这个只能用字符串的形式读入,浮点数是有小数点的是吧?如果将这个数以字符串的形式...

相似回答