PAT甲级 1001 A+B Format

#include <stdio.h>
//思路:用字符数组存储需要输出的字符;
//		将整数和每一位的数字按照一定顺序转化为ASCII码赋值给字符数组,每隔3位插入一个','; 
//		倒序输出字符数组; 
int main()
{
	int a,b;
	int sum=0;//整数和 
	char str[20];//存储转化为标准格式数字的字符数组 
	int count=0;//计整数和的位数,等于3时插入','并清零 
	int i; 
	scanf("%d %d",&a,&b);
	sum=a+b;
	if(sum==0)
		printf("0");//等于0的情况 
	if(sum<0)
	{
		printf("-");
		sum=-sum;
	}//负数先输出负号 ,之后只需判断正整数的情况 
	for(i=0;sum!=0;i++)
	{
		str[i]=sum%10+'0';//从低位到高位依次赋值给对应的字符数组元素 
		sum/=10;
		count++;//计数 
		if(count==3&&sum>0)//当计数为3时且当前位不为整数最高位时,插入',' 
		{
			str[++i]=',';
			count=0;
		}
	}
	for(--i;i>=0;i--)//倒序输出该字符数组 
	{
		printf("%c",str[i]);
	}
	printf("\n");
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_42348049/article/details/80515685
今日推荐