编一程序,输入年月日,计算该天是该年第几天

//选择结构流程
#include"stdio.h"         /*编译预处理命令*/ 
void main()                                /*main函数*/ 
{
    int iy,im,id;                        /*定义整型变量*/ 
    printf("请输入年月日:");/*输出提示信息*/ 
    scanf("%d%d%d",&iy,&im,&id);/*从键盘输入三个数*/ 
    if(iy%400==0||(iy%4==0&&iy%100!=0))/*判断是否闰年*/ 
        id=id+1;                                                    /*闰年+1*/ 
    switch(im)                                                    /*判断的目标*/ 
    {
    case 1:                                                            /*是否匹配*/ 
        printf("%d年%d月%d日是%d年第%d天",iy,im,id,iy,id);break;
    case 2:
        printf("%d年%d月%d日是%d年第%d天",iy,im,id,iy,id+31);break;
    case 3:
        printf("%d年%d月%d日是%d年第%d天",iy,im,id,iy,id+31+28);break;
    case 4:
        printf("%d年%d月%d日是%d年第%d天",iy,im,id,iy,id+31+28+31);break;
    case 5:
        printf("%d年%d月%d日是%d年第%d天",iy,im,id,iy,id+31+28+31+30);break;
    case 6:
        printf("%d年%d月%d日是%d年第%d天",iy,im,id,iy,id+31+28+31+30+31);break;
    case 7:
        printf("%d年%d月%d日是%d年第%d天",iy,im,id,iy,id+31+28+31+30+31+30);break;
    case 8:
        printf("%d年%d月%d日是%d年第%d天",iy,im,id,iy,id+31+28+31+30+31+30+31);break;
    case 9:
        printf("%d年%d月%d日是%d年第%d天",iy,im,id,iy,id+31+28+31+30+31+30+31+31);break;
    case 10:
        printf("%d年%d月%d日是%d年第%d天",iy,im,id,iy,id+31+28+31+30+31+30+31+31+30);break;
    case 11:
        printf("%d年%d月%d日是%d年第%d天",iy,im,id,iy,id+31+28+31+30+31+30+31+31+30+31);break;
    case 12:
        printf("%d年%d月%d日是%d年第%d天",iy,im,id,iy,id+31+28+31+30+31+30+31+31+30+31+30);break;
    }
    getch();

//一开始用的是else if,结果发现和第一个if有矛盾。然后换switch发现有问题,发现是
//没有加getch()。如果书上没有类似的题目,我也不晓得怎么查找问题啊。下面的注释代码太长就不写了。 

//反正就是一三五七八十腊31天永不差。

你可能感兴趣的:(C语言学习-选择结构流程)