pat 乙级 1002 写出这个数(C++)
题目
读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入与输出
输入格式:
每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10^100 。
输出格式:
在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。
输入样例:
1234567890987654321123456789
输出样例:
yi san wu
分析
简要分析
从n的给值来看,远远超出long long int类型的数据范围。而求的是各位的数字之和,然后再用拼音输出。所以,考虑用字符串的的方式存储n。
解决方案
getchar函数正好满足需求
使用不同的编程语言,需要不同头文件。
C
#include<stdio.h>
C++
#include<cstdio>
AC代码
#include<iostream>
#include<cstdlib>
#include<cstdio>
using namespace std;
void print_pinyin(int x)
{switch(x){case 0: cout<<"ling";break;case 1: cout<< "yi";break;case 2:cout<<"er";break;case 3:cout<<"san";break;case 4:cout<<"si";break;case 5:cout<<"wu";break;case 6:cout<<"liu";break;case 7:cout<<"qi";break;case 8:cout<<"ba";break;case 9:cout<<"jiu";break;default:break;}}
int main()
{int i,x,sum=0;char n;while((n=getchar())!='\n'){sum=sum+(n-'0');//字符-'0':字符隐性转换为整数}int temp=0;int x1=sum;while(x1!=0){temp++;x1=x1/10;}int *a=(int *)malloc(temp*sizeof(int));for(i=temp-1;i>=0;i--){a[i]=sum%10;sum=sum/10;}for(i=0;i<temp;i++){print_pinyin(a[i]);if(i!=(temp-1)){cout<<" ";}}return 0;
}
更多题解
pat 乙级 题解汇总(持续更新)(C++)
pat 乙级 1002 写出这个数(C++)相关推荐
- PAT 乙级 1002 写出这个数
1002 写出这个数 (20 point(s)) 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 ...
- [PAT乙级]1002 写出这个数
读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 n 小于 10100. 输出格式: 在一行 ...
- PAT(乙级) 1002 写出这个数 (20point(s)) Python
读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. AC代码 i = input() count = 0 for j in i:count = count + int(j) d = ...
- PAT乙级(1002 写出这个数 )
读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 n 小于 10100. 输出格式: 在一行 ...
- PAT 乙级 1002. 写出这个数 (20) Java版
读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值.这里保证n小于10100. 输出格式:在一行内输出n的各位数字之和的每 ...
- PAT乙级 1002 写出这个数
一.题目描述 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 n 小于 10100. 输出 ...
- textarea限制字符数_PAT乙级-1002 写出这个数
PAT乙级-1002 写出这个数 本文作者:Shen,JQ 来源 https://pintia.cn/problem-sets/994805260223102976/problems/99480532 ...
- C++学习之路 | PTA乙级—— 1002 写出这个数 (20分)(精简)
1002 写出这个数 (20分) 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 n 小于 10 ...
- 【PAT】1002 写出这个数
题目描述: 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 n 小于 10 100. 输出格式 ...
最新文章
- 5、jeecg 笔记之 minidao 条件判断
- java中图片文件的传输及显示(Socket以及ServerSocket演示)
- SpringCloud微服务:基于Nacos组件,整合Dubbo框架
- 云消防大数据_消防云大数据
- WebLogic 控制台乱码
- python短期预测图_用Python预测「周期性时间序列」的正确姿势
- Mysql(8)_存储引擎之InnoDB
- tips of MIPS
- OpenWrt-19.07.2 For HC5861(极路由3) /HiWiFi/Gee最新固件,极路由3刷openwrt
- 国内自动化测试软件,AutoRunner-国内测试行业专业自动化测试工具成长史
- SUBMAIL群发邮件API接口-Mail/send
- OpenLayers 3 入门教程
- Deepin+win7双系统启动项问题解决
- MySQL中rank函数的使用
- TCP/IP Attack Lab(SEED实验)
- android图片存储到本地文件夹在哪里找,android系统下,上网浏览的图片等临时文件的存放文件夹在哪?...
- matlab皮肤色号检测,彩色图像中的人脸(肤色)检测
- mmap是什么,为什么?
- 如何在 Mac 上卸载 Java
- mac下的免费UML建模工具