【PAT (Basic Level) Practice】1002 写出这个数(C)

作者: CHEN, Yue
单位: PAT联盟
时间限制: 400ms
内存限制: 64MB

代码长度限制: 16KB

读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。

输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10^100^。

输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。

分析:

除10取余,在余数不为零的情况下循环

余数累加

余数除10取余

与拼音比较,打印。

代码:

#include<stdio.h>
#include<stdlib.h>
main()
{
int a[100],i,s=0,b[100];
char c[3];
gets(c);
for(i=0;c[i]!='\0';i++)
{
b[i]=(int)c[i]-48;
s=s+b[i];
}
for(i=0;i<100&&s!=0;i++)
{
a[i]=s%10;
s/=10;
}
for(i=i-1;i>=0;i--)
{
if(a[i]==0)
printf("ling");
if(a[i]==1)
printf("yi");
if(a[i]==2)
printf("er");
if(a[i]==3)
printf("san");
if(a[i]==4)
printf("si");
if(a[i]==5)
printf("wu");
if(a[i]==6)
printf("liu");
if(a[i]==7)
printf("qi");
if(a[i]==8)
printf("ba");
if(a[i]==9)
printf("jiu");
if(i>0)
printf(" ");
}
}
/*设定新变量的时候要赋值or检查它在程序中是否赋过初值。
整型变量有大小范围,而以数组形式存储的数没有大小范围。
示例里给的结果一定是正确的。
在修改完程序的时候一定要整体地再过上一遍,有时候部分更改会影响很多部分。
强制类型转换是(int),而不是int()。
for循环最后一个值是i++而且判断的是xxx!=xxx的时候,i默认是比应该停止的位置大出一个值的。
long int与%ld这种写法是存在的。
看清楚输入数的范围再设置数组大小。
小于"10^100^"的话大小为100的数组可以放得下。*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值