C语言编程 输入年月日,输出该日是该年的第几周
作者:未知侠名时间:2022-11-19 13:23:31
你这里面有好几处问题:
1、for (i=1;i2、a=a+b[i];你这里的变量a没有初始化为0,应该int a=0; 3、sumupdays=isleapyear(year)+day+a;如果是闰年的一月和二月,也没必要多加一天;应该先判断月份是否大于2; 4、判断闰年的函数int isleapyear(int year)貌似也不对,应该是 int isleapyear(int year) { int leap; if ((year%4=0) && (year%100!=0)) //能被4整除而不能被100整除 leap=1; else if(year%400=0) //能被400整除 leap=1; else leap=0; return(leap); } #includemain(){ int a,b,c,d=0,i; scanf("%d %d %d",&a,&b,&c); if((a%4==0&&a%100!=0)||(a%400==0)) d=1; int e=(b-1)*30+c; for(i=1;i<=7;i++){ if(i%2==1) e++; if(i==2&&d==1) e--; if(i==2&&d==0) e=e-2; } for(i=8;i if(i%2==0) e++; } if(e%7!=0) printf("是%d年的第%d周",a,e/7+1); else printf("是%d年的第%d周",a,e/7); } 没有判断输入是否正确的机制
1、for (i=1;i2、a=a+b[i];你这里的变量a没有初始化为0,应该int a=0; 3、sumupdays=isleapyear(year)+day+a;如果是闰年的一月和二月,也没必要多加一天;应该先判断月份是否大于2; 4、判断闰年的函数int isleapyear(int year)貌似也不对,应该是 int isleapyear(int year) { int leap; if ((year%4=0) && (year%100!=0)) //能被4整除而不能被100整除 leap=1; else if(year%400=0) //能被400整除 leap=1; else leap=0; return(leap); } #includemain(){ int a,b,c,d=0,i; scanf("%d %d %d",&a,&b,&c); if((a%4==0&&a%100!=0)||(a%400==0)) d=1; int e=(b-1)*30+c; for(i=1;i<=7;i++){ if(i%2==1) e++; if(i==2&&d==1) e--; if(i==2&&d==0) e=e-2; } for(i=8;i if(i%2==0) e++; } if(e%7!=0) printf("是%d年的第%d周",a,e/7+1); else printf("是%d年的第%d周",a,e/7); } 没有判断输入是否正确的机制
- 站长提醒大家:以上内容,未识真伪,仅供参考。理性上网,以免过度。谨慎广告,危及钱财。
版权声明:本信息由系统自动搜集网络信息,本站尊重网络信息的版权问题,本站所有内容仅供学习使用,版权归原作者所有,若有来源错误或者侵犯您的合法权益,您可通过邮箱与我们取得联系,我们将及时进行处理。