“21天好习惯”第一期——11

道友们好,经过一天的学习,我又得到了一些知识,在这里我将继续和大家分享

首先,看题目吧

题目内容:

根据scanf()的返回值判断scanf()是否成功读入了指定的数据项数,使程序在用户输入123a时,能输出如下运行结果:

123a↙

Input error!

输入格式: "%d %d"

输出格式:

如果成功读入指定的数据项数,输出格式为:"a = %d, b = %d\n" (注意:等号的两边各有一个空格)

输入非法数据,输出格式为:"Input error!"

由于我还没学如何检测用户错误输入,这道题又是百度才找到思路

#include <stdio.h>

int main()
{
    int a,b,s;
    s=scanf("%d %d",&a,&b);//这里的s是等于真正输入的数据的个数
    if(s==2)//因为scanf是取了两个整数,所以s=2时才表明正确输入
    {
        printf("a = %d, b = %d\n",a,b);
    }
    else
    {
        printf("Input error!");
    }


    return 0;
}

所以,下面这道题,我们可以用同样的方法解决

题目内容:

从键盘任意输入一个公元年份(大于等于1),判断它是否是闰年。若是闰年输出“Yes”,否则输出“No”。要求对输入数据进行合法性判断。

已知符合下列条件之一者是闰年:

(1)能被4整除,但不能被100整除;

(2)能被400整除。

输入格式: "%d"

输出格式:

是闰年,输出:"Yes\n"

不是闰年,输出:"No\n"

输入数据不合法,输出:"Input error!\n"

#include <stdio.h>
#include <math.h>

int main()
{
    int x,s;
    s=scanf("%d",&x);

    if(s==1&&x>=1)
    {
        if((x%4==0&&x%100!=0)||(x%400==0))
           {printf("Yes\n");}
        else{printf("No\n");}
    }
    else
    {
        printf("Input error!");
    }


    return 0;
}

 

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值