第几天c语言
㈠ 用C语言计算一下今天是今年的第几天!!求解
帮你修改了下,应该没错了,
#include<stdio.h>
intmain()
{
intyear;
intmonth;
intday,days=0;//
inti;
intdate[12][13]={
{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("请输入当天的日期:");
scanf("%d%d%d",&year,&month,&day);
if((year%4==0&&year%100!=0)||year%400==0)
{
for(i=0;i<month-1;i++)
{
days+=date[1][i];//
}}
else
{
for(i=0;i<month-1;i++)
{
days+=date[0][i];//
}
}
days+=day;
printf("今天是今天的第%d天 ",days);
return0;
}
㈡ C语言输入年月日计算该日是该年第几天,
//根据用户输入的日期计算出该日期是该年的第多少天。
#include
#include
//system("pause")
main()
{
int year,month,day,total,leap; //total总天数 ,leap用于闰年的2月天数
printf("请输入年 月 日(按顺序,中间用空格隔开):");
scanf("%d%d%d",&year,&month,&day);
if((year%4==0 && year%100!=0) || year%400==0) //判断是否闰年,闰年2月多一天,所以闰年leap为1,平年为leap为0。
{
leap=1;
}
else
{
leap=0;
}
switch(month) //根据月份计算对应的最终天数。
{
case 1: total=day;break;
case 2: total=31*1+day;break;
case 3: total=31*1+28+leap+day;break;
case 4: total=31*2+28+leap+day;break;
case 5: total=31*2+28+leap+30*1+day;break;
case 6: total=31*3+28+leap+30*1+day;break;
case 7: total=31*3+28+leap+30*2+day;break;
case 8: total=31*4+28+leap+30*2+day;break;
case 9: total=31*5+28+leap+30*2+day;break;
case 10: total=31*5+28+leap+30*3+day;break;
case 11: total=31*6+28+leap+30*3+day;break;
case 12: total=31*6+28+leap+30*4+day;break; //12月之前的11个月中有6个31天,4个30天,2月为28天+leap。
}
if(year>=1 && year<=9999 && month>=1 && month<=12 && day>=1 && day<=31) //判断输入是否正解,年份最大为9999,可自行更改。
{
printf("\n\t%d月%d日止,%d年已过去%d天。\n\n",month,day,year,total);
system("pause"); //按任意键继续...
}
else
{
printf("\n\t错误\n\n");
system("pause"); //按任意键继续...
}
return 0;
}
㈢ C语言算某年某月某日是这年的第几天哪有问题
```c
#include
int main() {
int i, year, month, day, sum;
printf("请输入年份、月份和日期:");
scanf("%d %d %d", &year, &month, &day);
sum = day;
for (i = 1; i < month; i++) {
switch (i) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
sum += 31;
break;
case 4:
case 6:
case 9:
case 11:
sum += 30;
break;
case 2:
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
sum += 29;
} else {
sum += 28;
}
break;
}
}
printf("%d年%d月%d日是该年的第%d天", year, month, day, sum);
return 0;
}
```
以上C语言程序的目的是计算输入的年份、月份和日期对应的年份中的第几天。程序首先提示用户输入日期,然后通过一个循环来计算在该年之前所有月份的天数总和。最后,输出计算结果。
代码中的`scanf`函数使用`%d %d %d`格式说明来读取三个整数,分别对应年、月、日。在循环中,使用`switch`语句来判断月份,并相应地增加天数。对于二月,程序检查是否是闰年,以决定是增加29天还是28天。
程序的输出格式正确地显示了输入日期是该年的第几天。代码整体逻辑清晰,但为了提高可读性和维护性,可能需要对代码进行进一步的格式化和优化。