| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1842 人关注过本帖
标题:新手习作,遇上问题,请高手指点
只看楼主 加入收藏
kuangjingbo
Rank: 1
等 级:新手上路
帖 子:312
专家分:0
注 册:2004-4-24
收藏
得分:0 

if和else不要嵌套那么多,嵌套多了看起来都不爽!

还有,闰年的逻辑不是那么简单的:

if(year%4==0) printf("这是闰年\n");


永不放弃!
2004-07-03 11:46
badmen
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2004-7-1
收藏
得分:0 
那如何去判断月份是否超过或小于呢?
2004-07-03 21:07
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
收藏
得分:0 

根本没必要去关心是否小于0 或大于12 ,你想想 是不是。

我们关心的是这个月是12个月中的哪个月。 这种题还可以用 switch 语句来写。


自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2004-07-05 22:49
badmen
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2004-7-1
收藏
得分:0 

#include <stdio.h> void main() { int year,month; printf("输入一个年份:\n"); scanf("%d",&year); if (100<year && year<9999) { if(year%4==0) printf("这是闰年\n"); else printf("这是平年\n"); printf("输入一个月份:\n"); scanf("%d",&month); if (month>0 && month<13) { if (month==2) if(year%4==0) printf("本月为29 \n"); else printf("本月为28 \n"); if ((month>0 && month!=2) || month>2) if (month==1 || month==3 || month==5 || month==7 || month==8 || month==10 ||month==12) printf("本月为31 \n",month); else printf("本月为30 \n",month); } else printf("月份有误。\n") } else printf("年份输入有误。\n"); }

[此贴子已经被作者于2004-07-23 22:12:31编辑过]

2004-07-23 22:07
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
高手啊!不过可以用cout cin吗?小的看得眼花了!
2004-07-24 15:16
金多虾
Rank: 2
等 级:论坛游民
帖 子:153
专家分:99
注 册:2009-6-9
收藏
得分:0 
你这代码写得真的是乱啊!
没点清晰度!
2009-08-04 21:51
罗罗小菜鸟
Rank: 2
等 级:论坛游民
帖 子:12
专家分:17
注 册:2009-8-9
收藏
得分:0 
#include<stdio.h>
void main()
{
    int year,p,q;
    int month_tab[2][12]={{31,28,31,30,31,30,31,31,30,31,30,31},{31,29,31,30,31,30,31,31,30,31,30,31}};
    printf("请输入年份year=:");
    scanf("%d",&year);
    if(year<100||year>9999)
    printf("输入有误,请重新输入");
    p=(year % 4 == 0) && ((year % 100 != 0) || (year % 400) == 0);
    if(p!=0)
    {
        printf("输入的年份为闰年\n");
        printf("输入的月份(1-12):");
        scanf("%d",&q);
        printf("该月的天数是%d:\n",month_tab[1][q-1]);
    }
    else
    {
 
        printf("输入的年份为平年\n");
        printf("输入的月份(1-12):");
        scanf("%d",&q);
        printf("该月的天数是%d:\n",month_tab[0][q]);
    }
}
这是我写的,恳请大家指正
2009-08-13 22:23
daisylin
Rank: 2
等 级:论坛游民
帖 子:33
专家分:26
注 册:2009-8-14
收藏
得分:0 
#include <stdio.h>
void main()
{
int year,month;
 month=1; month=3; month=5; month=7;
month=8; month=10; month=12; month=2;
month=4; month=6; month=9; month=11;     //上面三句是多余的;
 printf("输入一个年份:\n"); scanf("%d",&year);

if (100<year && year<9999)   
{
if(year%4==0) {printf("这是闰年\n"); switch语句输出每月的天数}
else {printf("这是平年\n"); switch语句输出每月的天数}
}
else 显示输入出错
printf("输入一个月份:\n"); scanf("%d",&month); //这句建议放到if语句之前,
                                                 这样直接输入年月即可输出该月的天数

if (0<month && month<12)    //此后语句可以不要,
if (month==1 || month>2)
if (month==1 || month==3 || month==5 || month==7 || month==8 || month==10 ||month==12)
printf("month=31 \n",month); if (month==2 && year%4==0) printf("month=29 \n",month); else printf("month=28 \n",month); else printf("month=30 \n",month);

}
2009-08-14 17:34
快速回复:新手习作,遇上问题,请高手指点
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015640 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved