永发信息网

C题目:输入一个年份和月份,输出这月有多少天?提示:用一个数组存放一年12个月的天数,请注释下 谢谢!

答案:5  悬赏:0  手机版
解决时间 2021-01-21 22:04
C题目:输入一个年份和月份,输出这月有多少天?提示:用一个数组存放一年12个月的天数,请注释下 谢谢!
最佳答案
我帮你分析下思路,具体代码不难。可以锻炼自己
既然你已经用一个数组存了12个月各自的天数,定义一个数组
a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
a[0]不用,这样月份就对应相应的下标
对于初学者不会弄混
例如3月份,只要输出a[3]即可

目前的问题在于2月份。因为2月份有平润年之分
所以只要用 年份 判断出这一年是否是闰年,对于平年2月份(默认是28天)
只要a[2]=29
判断闰年条件是
year%4==0&&year%100!=0||year%400==0追问我用循环写:在这里就卡住了
#include
int main()
{
int year;
int month;
int m[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int n; //循环变量
printf("请输入的年份:");
scanf("%d",&year);
printf("请输入月份:");
scanf("%d",&month);
if(year%4==0&&year%10!=0||year%400==0)
{
month=29;
}
system("pause");
}追答代码没什么错,细节没处理好,还有程序里没有用到什么循环啊
#include
int main()
{
int year;
int month;
int m[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int n; //循环变量
printf("请输入的年份:");
scanf("%d",&year);
printf("请输入月份:");
scanf("%d",&month);
if(year%4==0&&year%100!=0||year%400==0)//这里条件别写错
{
m[2]=29;//这里只要将2月份改为29天就可以
//输入的month是用来做下标的
}
printf("%d 月份有 %d 天\n",month,m[month]);//你没有写输出结果的语句
system("pause");
}
//c语言不是不支持中文么。。你的c语言软件好牛啊,应该是用c++写的吧
全部回答
#include
int days[12] = {
31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
};//12个月的天数,闰年另外处理
void main()
{
int year, month;
puts("请输入年和月(如: 2007,5):");
scanf("%d,%d", &year, &month);
//注意,本程序并不检查输入年月是否正确
printf("输入%d年%d月\n", year, month);

//以下if语句判断是否闰年
if((year%400==0) || (year%100!=0) && (year%4==0))
days[1] = 28 + 1; //如果是闰年,那么2月是29天
printf("%d年%d月是%d天\n", year, month, days[month-1]);
}
这个程序主要需考虑的是判断这一年是不是闰年,因为每一个月的天数,除了闰年之外,都是一三五七八十腊,三十一天用不差啊。
#include"stdio.h"
void main()
{
int i,j;
int k[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int n[12]={31,29,31,30,31,30,31,31,30,31,30,31};
printf("请输入年份:");
scanf("%d",&i);
printf("请输入月份:");
scanf("%d",&j);
if(i/4==0||i/100==0)
printf("\n\n%d年%d月有:%d天。\n",i,j,n[j-1]);
else printf("\n\n%d年%d月有%d天。\n",i,j,k[j-1]);
}
#include "stdio.h"
void main()
{
int year,month;
printf("Input year:");
scanf("%d",&year);
printf("Input month:");
scanf("%d",&month);
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
printf("31 day.\n");break;
case 4:
case 6:
case 9:
case 11:
printf("30 day.\n");break;
case 2:
if(year%400==0||year%4==0&&year%100)
printf("29 day.\n");
else
printf("28 day.\n");
break;
default:
printf("input error!\n");
}
}
#include
void main()
{
int y,m,ms[13];
scanf("%d %d",&y,&m);
if(m>0&&m<13)
{
ms[1]=31;
ms[2]=28;
ms[3]=31;
ms[4]=30;
ms[5]=31;
ms[6]=30;
ms[7]=31;
ms[8]=31;
ms[9]=30;
ms[10]=31;
ms[11]=30;
ms[12]=31;
if(y%400==0||(y%100<>0&&y%4==0) ms[2]=29;
printf("%ddays",ms[m]);
}
}
希望回答对你有帮助
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
写月散文(名家名文)
运算的逆运算是什么意思
养猪场如何管理
西霞口村地址有知道的么?有点事想过去!
我国国内生产总值从1978年的1473亿美元增长到
刮第一片腻子粉发黄是什么原因?
梦见大蛇进自进店铺
保时泰又出新车,看完内饰还有购车欲望吗
Rohs认证官网在哪里
1米9直径周长是多少
巴西焗油是拉直还是
高层建筑的最大沉降
问道怎么将敏捷要求的武器变成力量要求的武器
我今年19岁了!女,我想趁现在还年轻去旅游,
美诗固门窗怎么样 美诗固门窗价格
推荐资讯
注塑时机械手报开模完信号被切断是什么原因
夜深寒,轻抚琴弦。若得遇喑,愿红尘三千,仅饮
滕头村要门票吗
不知道江铃和奥铃那个更强一点,也请顺便说一
无刷电动扳手与有刷的对比好处
房车怎样度过野外夜晚
秃头和光头有什么区别?
中国银行24小时自助银行(镇海机电园区支行)地
访问控制根据应用环境的不同不包括哪些
观赏鱼缺氧了,一动不动到底死了吗?急急急
梁华美发工作室地址在哪,我要去那里办事
靓洁干洗(诗仙路中段)地址在哪,我要去那里办
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?