国产成人AV一区二区三区在线_国产成人精品无码免费看_国产成人无码无卡在线观看_国产精品成人A区在线观看_国产日韩精品欧美一区_国产亚洲精品自在久久蜜TV_久草热久草热线频97精品_久久久噜噜噜久久中文福利_久久婷婷五月综合色国产免费观看_日日狠狠久久偷偷色综合0,九一桃色在线观看,久久97精品久久久久久久不卡,国产成人精品亚洲精品

請大家?guī)兔匆幌逻@段代碼為何跑得起來但結(jié)果不對(c語言)

訪客2025-01-30 14:15:151

這是一個輸入年份與月份能判斷這個月第一天是周幾的代碼,,但運行以后D,a,b變成0,,我也找了好久不知道錯在哪(1900年一月一日是周一)#include<stdio.h>int main(){int O,a,b,y,m,D,q,W,n;O=1900;a=0;//閏年數(shù)量b=0;//非閏年數(shù)量printf("Please input the year");scanf("%d",&y);//輸入年printf("Please input the month");scanf("%d",&q);//輸入月while(O==y)//{if (O%100==0){if(O%400==0){a=a+1;O=O+1;}else{ b=b+1; O=O+1;}}else{if(O%4==0){a=a+1;O=O+1;}else{b=b+1;O=O+1;}}continue;};D=a*366+b*365;m=1;while(m==q){if(m==1||m==3||m==5||m==7||m==8||m==10||m==12){D=D+31;m=m+1;}else{ if(m==2){ if(O%100==0) { if(O%400==0) { D=D+29; m=m+1;}else{ D=D+28; m=m+1;}}else{ if(O%4==0) { D=D+29; m=m+1;}else{D=D+28;m=m+1;}} } else { D=D+30; m=m+1;}}};n=D%7;W=1+n;printf("%d",D);printf("%d",W);return 0;}

一個明顯的錯

while(O==y)//

除非你輸入的y==O

否則循環(huán)永遠不會執(zhí)行

a或b當然為0了

正確的應該是while(O,!=y)

同樣的是while(m==q)

(你對循環(huán)條件理解有問題)

另外,你計算閏年的方法太復雜了,,一般只要一條語句

if (((O%4==0)&&(O%100!=0))||O%400==0)

文章評論