PAT-1002

1002. 写出这个数 (20)

时间限制

400 ms

内存限制

65536 kB

代码长度限制

8000 B

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

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

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

输入样例:

1234567890987654321123456789

输出样例:

yi san wu

//考虑用字符串存数处理 否则肯定表达不了大整数
 1 /*
 2 https://www.patest.cn/contests/pat-b-practise/1002
 3 author:LY  2016.5.24
 4 */
 5 #include<iostream>
 6 #include<string>
 7 using namespace std;
 8
 9 int main()
10 {
11     string a;
12     cin>>a;
13     int sum=0;
14
15     //对a分解求和
16     for(int i=0;i<a.size();i++)
17     {
18         sum+=int(a[i]-‘0‘);
19     }
20
21     int k[100],j=0;
22
23     //将sum的值转换为汉字输出
24
25      while((sum/10)!=0)
26      {
27          k[j]=sum%10;   //低位
28          sum=sum/10;   //降低位数
29          j++;
30      }
31      k[j]=sum;
32
33      for(int i=j;i>=0;i--)
34      {
35          switch(k[i])
36          {
37              case 0: printf("%s","ling");
38              break;
39              case 1:printf("%s","yi");
40              break;
41               case 2:printf("%s","er");
42              break;
43               case 3:printf("%s","san");
44              break;
45               case 4:printf("%s","si");
46              break;
47               case 5:printf("%s","wu");
48              break;
49               case 6:printf("%s","liu");
50              break;
51               case 7:printf("%s","qi");
52              break;
53               case 8:printf("%s","ba");
54              break;
55               case 9:printf("%s","jiu");
56              break;
57          }
58          if(i!=0)
59          printf("%s"," ");
60      }
61      printf("\n");
62     return 0;
63 }
64  
				
时间: 2024-08-08 22:06:29

PAT-1002的相关文章

PAT 1002. 写出这个数

1002. 写出这个数 (20) 读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值.这里保证n小于10100. 输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1空格,但一行中最后一个拼音数字后没有空格. 输入样例: 1234567890987654321123456789 输出样例: yi san wu 1 #include<iostream> 2 #include<vector> 3 #

PAT 1002. A+B for Polynomials

#include<stdio.h> #include<string.h> double coefficient[1010]; int k1, k2,k3=0; int nk; int max_exponent1, max_exponent2; int min_exponent1, min_exponent2; int main(){ memset(coefficient, 0, sizeof coefficient); scanf("%d", &k1);

PAT 1002 Hello World for U (20)

Given any string of N (>=5) characters, you are asked to form the characters into the shape of U. For example, "helloworld" can be printed as: h d e l l r lowo That is, the characters must be printed in the original order, starting top-down f

pat 1002. 写出这个数 (20)

读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值.这里保证n小于10100. 输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格. 输入样例: 1234567890987654321123456789 输出样例: yi san wu 1 #include <iostream> 2 #include <cstring> 3 using namespac

PAT——1002. 写出这个数

读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值.这里保证n小于10100. 输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格. 输入样例: 1234567890987654321123456789 输出样例: yi san wu package com.hone.basicalTry; import java.util.Scanner; public clas

PAT 1002 写出这个数 (字符串)

题目>> 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 n 小于 1. 输出格式: 在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格. 输入样例: 1234567890987654321123456789 输出样例: yi san wu 思路>> ①题目给出的n是小于10的100次方的,很明显不能用int型或者long lon

PAT-Top1002. Business (35)

在一个项目的截止日期之前,如果工期有空闲则可能可以开展其他项目,提高效益.本题考查动态规划.数组dp[i][t]表示在截止时间为t时,前i个项目工作安排能够产生的最大收益,而前i个项目的截止时间都不大于t. 1 //#include "stdafx.h" 2 #include <iostream> 3 #include <algorithm> 4 #include <memory.h> 5 6 using namespace std; 7 8 str

较大数据的问题

大数据运算和放置 这里先列部分遇到的问题 1.100的阶乘 这里在我所学到的数据类型只有浮点数可以放置但是得到的结果并不正确 所以我使用数组来放置并计算 include<stdio.h> int main() { int arr[10000]={1,0}; int k=1; int n=0; for(int i=1;i<=100;i++) { for(int j=99;j>=0;j--) { if(arr[j]!=0) { n=j+1;//这里获取到位数 break; } } fo

【PAT】1002. 写出这个数 (20)

1002. 写出这个数 (20) 读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值.这里保证n小于10100. 输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格. 输入样例: 1234567890987654321123456789 输出样例: yi san wu C 代码如下: 1 #include <stdio.h> 2 #include <stdl

PAT 乙级真题 1002.数字分类

PAT 乙级真题 1002.数字分类 题目描述 给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字: A1 = 能被5整除的数字中所有偶数的和: A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3-n4...: A3 = 被5除后余2的数字的个数: A4 = 被5除后余3的数字的平均数,精确到小数点后1位: A5 = 被5除后余4的数字中最大数字. 输入格式 每个输入包含1个测试用例.每个测试用例先给出一个不超过1000的正整数N,随后给出N个不超过1000的