PAT测试历程

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

 #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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值