PAT.1002. 写出这个数

#题目
时间限制
400 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue
读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式:
每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10 <math> <semantics> <mrow> <msup> <mn> 1 </mn> </msup> </mrow> <annotation encoding="application&#47;x&#45;tex"> ^1 </annotation> </semantics> </math>1 <math> <semantics> <mrow> <msup> <mn> 0 </mn> </msup> </mrow> <annotation encoding="application&#47;x&#45;tex"> ^0 </annotation> </semantics> </math>0 <math> <semantics> <mrow> <msup> <mn> 0 </mn> </msup> </mrow> <annotation encoding="application&#47;x&#45;tex"> ^0 </annotation> </semantics> </math>0
输出格式:
在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。
输入样例:

1234567890987654321123456789

输出样例:

yi san wu

#分析:
n太长了只有字符串输入,然后再挨个加每一位的数字(注意转换),最后再输出取余存储逆序输出。
亮点是把数字对应的字符串开全局变量存储起来

#代码(CPP)

#include<iostream>
#include<string.h>
using namespace std;
char name[][5]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
int main(){
    string a;
    char b[5][5];
    int sum=0;
    int k=0;
    cin>>a;
    for(int i=0;a[i]!='\0';i++)
        sum += a[i]-'0';
    while(sum!=0){
        int t=sum%10;
        sum/=10;
        strcpy(b[k++],name[t]);
    }
    for(int i=k-1;i>=0;i--){
        if(i!=k-1)
            cout<<" ";
        cout<<b[i];
    }
    return 0;
}

#代码(Java)

import java.util.*;
public class Main {
		static String name[] = {"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		String ans[] =new String[5];
		int sum=0;
		int k=0;
		String a=in.next();
		for(int i=0;i<a.length();i++)
			sum += a.charAt(i)-'0';
		while(sum!=0) {
			ans[k++]=name[sum%10];
			sum/=10;
		}
		for(int i=k-1;i>=0;i--) {
			if(i!=k-1)
				System.out.print(" ");
			System.out.print(ans[i]);
		}
		in.close();
	}

}

全部评论

相关推荐

来个厂收我吧:首先,市场侧求职我不是很懂。 但是,如果hr把这份简历给我,我会觉得求职人不适合做产品经理。 问题点: 1,简历的字体格式不统一,排版不尽如人意 2,重点不突出,建议参考star法则写个人经历 3,印尼官方货币名称为印度尼西亚卢比(IDR),且GMV690000印尼盾换算为305人民币,总成交额不高。 4,右上角的意向职位在发给其他公司时记得删除。 5,你所有的经历都是新媒体运营,但是你要投市场营销岗位,jd和简历不匹配,建议用AI+提示词,参照多个jd改一下经历内容。 修改建议: 1,统一字体(中文:思源黑体或微软雅黑,英文数字:time new romans),在word中通过表格进行排版(b站学) 2,校招个人经历权重:实习经历=创业经历(大创另算)>项目经历>实训经历>校园经历 3,请将项目经历时间顺序改为倒序,最新的放最上方。 4,求职方向不同,简历文字描述侧重点也需要不同。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务