求大神幫忙 這個(gè)代碼我打了好久但就是輸不出來
int year = 2008;
? ? int month = 8;
? ? int day = 8;
? ? int a;
? ? switch(year%=4)//余數(shù)不為零即為平年
? ? ? case 0:
? ? ? if(month>1)//區(qū)分出包不包含二月
? ? ? ? ?{
? ? ? ? a=(month-2)*30+day+29;
? ? ? ? //減2是因?yàn)椋杭僭O(shè)他是三月八號(hào)(假設(shè)是平年) 那么總天數(shù)a=(3-2)*30+28+8=64天? 以此類推
? ? ? ? ? ? ?
? ? ? ? ?}
? ? ? ? ? case
? ? ? ? ? {
? ? ? ? ? ? ? a=day;
? ? ? ? ? ? ??
? ? ? ? ? }?
? ? ? ? ? printf("第%d天",a);
? ? ? break;
? ? ? default:
? ? ? if(month>1)
? ? ? {
? ? ? a=(month-2)*30+day+28;//減2是因?yàn)椋杭僭O(shè)他是三月八號(hào)(假設(shè)是平年) 那么總天數(shù)a=(3-2)*30+28+8=64天? 以此類推
? ? ??
? ? ? }
? ? ? ? ?case
? ? ? ? ? {
? ? ? ? ? ? ? a=day;
? ? ? ? ? ? ?
? ? ? ? ? }
? ? ? ? ? ?printf("第%d天",a);
? ? ? ? ? break;
2019-08-10
先不談?wù)Z法結(jié)構(gòu)還有中文符號(hào)之類的種種問題。
a=(month-2)*30+day+29;這個(gè)的話,一個(gè)月有31天30天 你這個(gè)算法是不成立的。從根本上就是錯(cuò)的。
2019-08-10
你看看我的代碼。
#include <stdio.h>
int main()?
{?
? ? int year = 2008;
? ? int month = 8;
? ? int day = 8;
? ? int r=0,days=0,yue=month;
? ? if(((year%4==0&&year%100!=0)||year%400==0))
? ? r=1;
? ? while(yue>1)
? ? {
? ? switch(yue-1)
? ? {
? ? case 4:
? ? case 6:
? ? case 9:
? ? case 11:days+=30;break;
? ? case 2:days+=28+r;break;
? ? default:days+=31;break;
? ? }
? ? yue--;
? ? }
? ? days+=day;
? ? printf("%d年%d月%d日是該年的第%d天",year,month,day,days);
? ? return 0;
}