标签:case 上机 int month break 补题 printf day 考试
7-4 求某月的天数 (20 分)
#include <stdio.h> int main() { int year,month; scanf("%d %d\n",&year,&month); if(month!=2){ if(month==1||3||5||7||8||10||12){ printf("31\n"); }else{ printf("30\n"); } }else if(month==2){ if(year%400==0){ printf("29"); }if(year%100!=0){ if(year%4==0){ printf("29"); }else{ printf("28"); } } } return 0; }
有多处明显错误,且程序复杂。
改正后
#include <stdio.h> int main() { int year,month,day; while(scanf("%d %d",&year,&month)!=EOF){ switch(month) { case 1:day=31;break; case 2:day=28;break; case 3:day=31;break; case 4:day=30;break; case 5:day=31;break; case 6:day=30;break; case 7:day=31;break; case 8:day=31;break; case 9:day=30;break; case 10:day=31;break; case 11:day=30;break; default:day=31;break; } if(year%4==0&&year%100!=0&&month==2||year%400==0) day=day+1; printf("%d\n",day); } return 0; }
7-5 位运算应用 (20 分)
#include <stdio.h> int main() {int ua,ub,uc,tag; scanf("%d %d %d\n%d",&ua,&ub,&uc,&tag); if(tag>95||tag<0){ printf("Error"); }else{ printf("ua=%d,ub=%d,uc=%d",ua,ub,uc); } return 0; }
这题的位运算是真不懂,就把该拿的分拿了
R7-6 交替字符倒三角形 (20 分)
STSTS STS S STSTSTSTSTSTSTSTSTS STSTSTSTSTSTSTSTS STSTSTSTSTSTSTS STSTSTSTSTSTS STSTSTSTSTS STSTSTSTS STSTSTS STSTS STS S
改正后
#include <stdio.h> int main() { int n,i,j=1,y,h; char ch; while(scanf("%d %c",&n,&ch)!=EOF){ y=n-17; for(i=3;i>=1;i--){ for(h=3-i;h>0;h--){ printf(" "); } for(j=1;j<=2*i-1;j++){ printf("%c",ch); } printf("\n"); } for(i=2;i<=3;i++){ for(h=3-i;h>0;h--){ printf(" "); } for(j=1;j<=2*i-1;j++){ printf("%c",ch); } printf("\n"); } if(y>0){printf("%d",y);} } return 0; }
总结就是循环部分还没吃透,而后面的部分也完全理解
标签:case,上机,int,month,break,补题,printf,day,考试 来源: https://www.cnblogs.com/chenzhikun/p/15455545.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。