例一
这题我主要忽视了%m.nd的用法,m代表占几个空格,
n代表取多少位小数.若实际位数小于吗,则左边补空格
正确代码为
#include<stdio.h> int main() { int a,b,c,d,e,Total; scanf("%d",&a); scanf("%d",&b); scanf("%d",&c); scanf("%d",&d); scanf("%d",&e); Total=a+b+c+d+e; printf("Rank Number\n"); printf("----------------\n"); printf("Excellent%7d\n",a); printf("Good%12d\n",b); printf("Medium%10d\n",c); printf("Pass%12d\n",d); printf("Fail%12d\n",e); printf("----------------\n"); printf("Total%11d\n",Total); return 0; }
例二
做这题时首先想到的是用if-else语句,复杂烦琐,浪费了很多时间。其实最合理的方法是用switch-case语句。
而且我对EOF的用法还不是很熟悉。
正确代码为:
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; }
例三
这题理应将图形分为上半部分和下半部分,分别对应不同的代码,
我做题时觉得漏斗后面的空格也要输入,把问题想复杂了,同时
对打印图形的题目有点陌生
正确代码为:
我的总结完毕