hdu2004成绩转换已AC代码,如下:
#include<stdio.h> int main() { int n; while(scanf("%d",&n)!=EOF) { if(n<0||n>100) printf("Score is error! "); else if(n<=100&&n>=90) printf("A "); else if(n<=89&&n>=80) printf("B "); else if(n<=79&&n>=70) printf("C "); else if(n<=69&&n>=60) printf("D "); else if(n<=59&&n>=0) printf("E "); } return 0; }
我还用switch编写了一个,也已AC,如下:
#include<stdio.h>
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
if(n==100)
printf("A
");
else if(n<0)
printf("Score is error!
");
else
{
switch(n/10)
{
case 0: ;
case 1: ;
case 2: ;
case 3: ;
case 4: ;
case 5: printf("E
");break;
case 6: printf("D
");break;
case 7: printf("C
");break;
case 8: printf("B
");break;
case 9: printf("A
");break;
default:printf("Score is error!
");
}
}
}
return 0;
}
接下来是hdu2007平方和立方和,代码如下:
#include<stdio.h>
int main()
{
long int x,y;
while(scanf("%ld %ld",&x,&y)!=EOF)
{
long i,t,m=0,n=0;
if(x>y){
t=x;x=y;y=t;}
for(i=x;i<=y;i++)
{
if(i%2==0)
m+=i*i;
else if(i%2==1)
n+=i*i*i;
}
printf("%ld %ld
",m,n);
}
return 0;
}
做这两道题的时候,第一道我做过,就是用已经AC的那种方法,但是我感觉那样麻烦,所以试着用switch做,考虑到-9到-1和101到109会影响结果,所以我就单独列出。第二道虽说不是很难,但是我第一次没能AC ,因为我把!=EOF省去了,但结果是时间超出限制,所以编程就是要一丝不苟,虽说要想办法简化代码,但有些东西是真的不能随便简化,否则就会出现意想不到的后果。