柴米油盐酱醋茶 发表于 2014-5-23 19:23:58

关于scanf

我在用if做 输入一个年份,并判断是否为闰年? 的判断,程序如下
#include <stdio.h>

main()
{
        int y,a;
        printf("输入一个年份\n");
        scanf("%d",&y);
        a = y % 400;
        if (a==0)
        {
                printf("This year is a Leap Year.\n");
        }
        else
        {
                printf("This year is not a Leap Year.\n");
        }
        return 0;
}


然后我把第七行改成了 scanf("%d\n",&y);    为什么就得输入两次?
这是改动之前的
这是改动之后的





牡丹花下死做鬼 发表于 2014-5-23 19:41:18

第二次不是要输入两次而是要按两下空格
scanf("%d\n",&y);
首先是%d是输入控制符会接收到2000但是你还写了\n这个必须原样输入

小泉向西流 发表于 2014-5-23 20:17:14

本帖最后由 小泉向西流 于 2014-5-23 20:18 编辑

判断闰年, 楼主的判断规则错了。

#include<stdio.h>

void main()
{
        int year;
        printf("请输入一个年份:");
    scanf("%d",&year);
        if((year%4==0)&&(year%100!=0)||(year%400==0))
                printf("这年是闰年\n");
        else printf("这年不是闰年\n");


柴米油盐酱醋茶 发表于 2014-5-23 20:19:49

牡丹花下死做鬼 发表于 2014-5-23 19:41 static/image/common/back.gif
第二次不是要输入两次而是要按两下空格
scanf("%d\n",&y);
首先是%d是输入控制符会接收到2000但是你还写了 ...

?不懂
scanf函数不需要\n吗

柴米油盐酱醋茶 发表于 2014-5-23 20:20:36

小泉向西流 发表于 2014-5-23 20:17 static/image/common/back.gif
判断闰年, 楼主的判断规则错了。

可否讲解下这段程序

柴米油盐酱醋茶 发表于 2014-5-23 20:22:03

小泉向西流 发表于 2014-5-23 20:17 static/image/common/back.gif
判断闰年, 楼主的判断规则错了。

能讲解下这段程序吗

小泉向西流 发表于 2014-5-23 20:25:18

柴米油盐酱醋茶 发表于 2014-5-23 20:20 static/image/common/back.gif
可否讲解下这段程序

闰年的判断规则:
1. 普通年能整除4且不能整除100的为闰年。
2. 世纪年(即 xx00 年)能整除400的是闰年。(如2000年是闰年,1900年不是闰年)

规则1,2满足一条,即为闰年。

柴米油盐酱醋茶 发表于 2014-5-23 20:27:20

小泉向西流 发表于 2014-5-23 20:25 static/image/common/back.gif
闰年的判断规则:
1. 普通年能整除4且不能整除100的为闰年。
2. 世纪年(即 xx00 年)能整除400的是闰年 ...

嗯我似乎懂了

牡丹花下死做鬼 发表于 2014-5-23 21:43:41

柴米油盐酱醋茶 发表于 2014-5-23 20:19 static/image/common/back.gif
?不懂
scanf函数不需要\n吗

scanf("输入控制符+非输入控制符")
非输入控制符必须原样输入才行

牡丹花下死做鬼 发表于 2014-5-23 21:44:40

int leap(int i)
{
        if(i%4 == 0 && i%100 != 0 || i%400 == 0)
                return 1;
        else
                return 0;
}

柴米油盐酱醋茶 发表于 2014-5-23 22:31:00

牡丹花下死做鬼 发表于 2014-5-23 21:44 static/image/common/back.gif


第一行?估计我还没学到

牡丹花下死做鬼 发表于 2014-5-24 01:30:55

柴米油盐酱醋茶 发表于 2014-5-23 22:31 static/image/common/back.gif
第一行?估计我还没学到

←_← 第一行不是关键if(i%4 == 0 && i%100 != 0 || i%400 == 0)这个就是判断的方法

柴米油盐酱醋茶 发表于 2014-5-24 09:50:18

牡丹花下死做鬼 发表于 2014-5-24 01:30 static/image/common/back.gif
←_← 第一行不是关键这个就是判断的方法

嗯 我似乎懂了~
页: [1]
查看完整版本: 关于scanf