PAT测试历程

来源:互联网 发布:在家当淘宝客服 编辑:程序博客网 时间:2024/06/08 13:02

今天做了一个第一题就半天不过。原理评测系统对空格什么的要求如此严格。

 #include<stdio.h>int main(){int a=0,b=0;  scanf("%d%d",&a,&b);  printf("%d + %d = %d\n",a,b,a+b);  printf("%d - %d = %d\n",a,b,a-b);  printf("%d * %d = %d\n",a,b,a*b);  printf("%d / %d = %d\n",a,b,a/b);  return 0;}
输出格式里面有空格的,一开始连\n都没有加,汗

后来又写了第二题,第一次提交对一半,得了4分。后来发现

 inch=(int)((cm/30.48-foot)*12);式子外面的大括号一定要加的,不能写成<pre name="code" class="cpp"> inch=(int)(cm/30.48-foot)*12;那样就导致了得4分的后果!恩一定要完全保证优先级

#include<stdio.h>int main(){  int cm=0,foot=0,inch=0;//定义厘米,英寸    scanf("%d",&cm);    foot=(int)cm/30.48;//直接取整即可?将小数强制性转换    inch=(int)((cm/30.48-foot)*12);//这里不用强制性转换吧    printf("%d %d\n",foot,inch);    return 0;}

pat A level 的一题,到现在没过,问题出在输出string类上面,也是醉了,看不出来啊,不会调试

#include<stdio.h>#include<string>using namespace std; string print(int i){string result="";switch(i){case 0:result="zero";break;case 1:result="one";break;case 2:result="two";break;case 3:result="three";break;case 4:result="four";break;case 5:result="five";break;case 6:result="six";break;case 7:result="seven";break;case 8:result="eight";break;case 9:result="nine";break;}return result;} int main(){int str[3]={0,0,0};int in=0,out=0,i=0,j=0;scanf("%d",&in);while(in!=0){out=out+in%10;in/=10;//i++;}//算了一下,输入的数字最多是100个9,那样的话和也就是900,所以最终输出不超过三位数 while(out!=0){str[i]=out%10;out/=10;i++;}for(j=i;j<=0;j--){printf("%s ",print(str[j]));//puts(print(str[j]));}printf("\n");}


0 0