c语言两种方法求当前日期是今年的第几天 | 您所在的位置:网站首页 › 今天是今年的第多少天的表格 › c语言两种方法求当前日期是今年的第几天 |
*注意事项: 1)闰年的定义是 可以被4整除但不能被100整除 或 可被400整除 2)7、8月是大月,闰年的2月有29天,正常年份2月28天 *代码: 1)switch-case语句 #include int main() { int year,mon,day; int days = 0; scanf("%d %d %d",&year,&mon,&day); if(year%4==0 && year%100!=0 || year%400==0){ switch(mon){ case 12: days+=31; case 11: days+=30; case 10: days+=31; case 9: days+=30; case 8: days+=31; case 7: days+=31; case 6: days+=30; case 5: days+=31; case 4: days+=30; case 3: days+=31; case 2: days+=28; case 1: days+=31; break; } }else{ switch(mon){ case 12: days+=31; case 11: days+=30; case 10: days+=31; case 9: days+=30; case 8: days+=31; case 7: days+=31; case 6: days+=30; case 5: days+=31; case 4: days+=30; case 3: days+=31; case 2: days+=29; case 1: days+=31; break; } } printf("%d\n",days); return 0; } 2)for循环语句: #include int main() { int year; int mon; int day; int count; scanf("%d/%d/%d", &year, &mon, &day); if( year%4==0 && year%100!=0 || year%400==0){ int i; int a = mon; for (i=1,count=0; i count += 29; }else if(a%2==0 && a!=8){ count += 30; }else if(a==8){ count += 31; }else{ count += 31; } } }else{ int j; int b = mon; for (j=1,count=0; j count += 28; }else if(b%2==0 && b!=8){ count += 30; }else if(b==8){ count += 31; }else{ count += 31; } } } count += day; printf("%d", count); return 0; } |
CopyRight 2018-2019 实验室设备网 版权所有 |