PAT A+B格式
Posted qq77530202
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PAT A+B格式相关的知识,希望对你有一定的参考价值。
A + B格式(20)
计算a + b并以标准格式输出总和 - 即数字必须用逗号分隔成三个组(除非有少于四个数字)。
输入
每个输入文件包含一个测试用例。每个案例包含一对整数a和b,其中-1000000 <= a,b <= 1000000。数字由空格分隔。
输出
对于每个测试用例,您应该在一行中输出a和b的和。总和必须以标准格式写入。
样品输入-1000000 9示例输出
-999,991
最多只有7位数字 一共就三种可能 所以分类就好了
# include<iostream> # include<string.h> using namespace std; int main() { int a,b,sum,i; char s[10]; cin>>a>>b; sum = a + b; sprintf(s,"%d",sum); int len = strlen(s); if(sum>=0) { if(len<=3) { cout<<s; } else if(len>3 && len<=6) { for(i=0; i<=len-4;i++) { cout<<s[i]; } cout<<","; for(i=len-3;i<len;i++) { cout<<s[i]; } } else { for(i=0; i<=len-7;i++) { cout<<s[i]; } cout<<","; for(i=len-6;i<len-3;i++) { cout<<s[i]; } cout<<","; for(i=len-3;i<len;i++) { cout<<s[i]; } } } else { cout<<s[0]; if(len<=4) { for(i=1;i<len;i++) { cout<<s[i]; } } else if(len>4 && len<=7) { for(i=1; i<=len-4;i++) { cout<<s[i]; } cout<<","; for(i=len-3;i<len;i++) { cout<<s[i]; } } else { for(i=1; i<=len-7;i++) { cout<<s[i]; } cout<<","; for(i=len-6;i<len-3;i++) { cout<<s[i]; } cout<<","; for(i=len-3;i<len;i++) { cout<<s[i]; } } } return 0; }
1、数字转字符串:使用sprintf()函数
char str[10];
int a=1234321;
sprintf(str,"%d",a);
--------------------
char str[10];
double a=123.321;
sprintf(str,"%.3lf",a);
--------------------
char str[10];
int a=175;
sprintf(str,"%x",a);//10进制转换成16进制,如果输出大写的字母是sprintf(str,"%X",a)
2、字符串转数字:使用sscanf()函数
char str[]="1234321";
int a;
sscanf(str,"%d",&a);
.............
char str[]="123.321";
double a;
sscanf(str,"%lf",&a);
.............
char str[]="AF";
int a;
sscanf(str,"%x",&a); //16进制转换成10进制
另外也可以使用atoi(),atol(),atof().
以上是关于PAT A+B格式的主要内容,如果未能解决你的问题,请参考以下文章