亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

這個對嗎?

#include <stdio.h>
int main()
{
??? /* 定義需要計算的日期 */
??? int year = 2008;
??? int month = 8;
??? int day = 8;
?int sum;
?? switch(month)
?? {
? case 1:sum=0;
?? break;
???? case 2:sum=31;
?? break;
???? case 3:sum=59;
?? break;
? case 4:sum=90;
?? break;
? case 5:sum=120;
?? break;
? case 6:sum=151;
?? break;
? case 7:sum=181;
?? break;
? case 8:sum=212;
?? break;
? case 9:sum=243;
?? break;
? case 10:sum=273;
?? break;
? case 11:sum=304;
?? break;
? default:sum=334;

?? }
?if ((year%4==0&&year%100!=0)||year%400==0)
?{
??if(month>=3)
??{
???printf("第%d年第%d月第%d天是該年的第%d天",year,month,day,sum=sum+day+1);
??}
??else
??{
????printf("第%d年第%d月第%d天是該年的第%d天",year,month,day,sum=sum+day);
??}
??
?}
??? else
?{
????????? ?printf("第%d年第%d月第%d天是該年的第%d天",year,month,day,sum=sum+day);
?}
???
? ?return 0;
}


正在回答

3 回答

有一點是沒有考慮0-12月外的數字。還有就是有點麻煩,需要計算前幾個月相加的和。建議你這樣試一下:

#include<stdio.h>

int main(void)

{

????int year = 1996, month = 9, day = 14, num = 0, m;

????switch(month)

????{

????????case 12 : num += 30; //11月的天數

????????case 11 : num += 31;

????????case 10 : num += 30;

????????case 9 : num += 31;

????????case 8 : num += 31;

????????case 7 : num += 30;

????????case 6 : num += 31;

????????case 5 : num += 30;

????????case 4 : num += 31;

????????case3 : num += 28;

????????case2 : num += 31;

????????case1 : num += 0;

????????????????????break;

????????default : printf("一年只有12個月哦~\n");

下面就一樣了

1 回復 有任何疑惑可以回復我~

case 12;sum=xxxxx

default...

0 回復 有任何疑惑可以回復我~

好像有漏洞哦,?switch語句沒有考慮到0-12月外的數字。??default:printf("%s","請輸入正確的月份");break;

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
C語言入門
  • 參與學習       927001    人
  • 解答問題       21533    個

C語言入門視頻教程,帶你進入編程世界的必修課-C語言

進入課程

這個對嗎?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號