1002. 写出这个数 (20)
来源:互联网 发布:java技术培训哪好 编辑:程序博客网 时间:2024/06/05 08:07
读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。
输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。
输入样例:1234567890987654321123456789输出样例:
yi san wu
-------------------------
#include <stdio.h>#include <stdlib.h>int main(){ char a[100]; scanf("%s",a); //这里参考了搜索的结果 int i=0; int sum=0; while(a[i]>='0'&&a[i]<='9')//若第n+1位字符也在此区间内,可能会出错,应该怎么做呢?不解。 { a[i]=a[i]-'0'; //将字符转化为数并相加 sum+=a[i]; i++; } int bei=sum;//声明变量bei防止sum变化 int k=1; while(bei>9)//获得与sum位数相同的10^n { bei=bei/10; k*=10; } int j;//使用上文的i也可以, while(k>0) { j=sum/k; sum%=k; k/=10; switch(j) { case 0:printf("ling");break; case 1:printf("yi");break; case 2:printf("er");break; case 3:printf("san");break; case 4:printf("si");break; case 5:printf("wu");break; case 6:printf("liu");break; case 7:printf("qi");break; case 8:printf("ba");break; case 9:printf("jiu");break; } if(k!=0)printf(" ");//判断是否输出空格 //printf("j=%d,sum=%d,k=%d\n",j,sum,k); //测试代码 } return 0;}
scanf("%s",&a);与scanf("%s",a);的区别是什么
阅读全文
0 0
- 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)
- 设置Android整个应用程序字体大小
- PAT1009. Product of Polynomials (25)
- python入门第二天——函数
- 用HttpSessionListener与HttpSessionBindingListener实现在线人数统计
- POJ NOI0113-6 最长单词2【文本处理】
- 1002. 写出这个数 (20)
- 欢迎使用CSDN-markdown编辑器
- [JSOI2008]Blue Mary开公司
- Exe程序启动或结束进程 .bat
- C#学习之旅之数组与集合
- Win7操作系统:请求的操作需要提升
- 3.3.1 查询——JPQL/HQL
- 443. String Compression
- 【Scikit-Learn 中文文档】神经网络模型(无监督)- 无监督学习