龙空技术网

PAT打卡第二天——(C语言实现)1002写出这个数

软件与编程 177

前言:

如今咱们对“c语言输入一个整数输出每个数字对应的拼音”大约比较重视,大家都需要剖析一些“c语言输入一个整数输出每个数字对应的拼音”的相关知识。那么小编在网摘上汇集了一些关于“c语言输入一个整数输出每个数字对应的拼音””的相关内容,希望咱们能喜欢,咱们快快来学习一下吧!

题目描述

1002 写出这个数 (20分)

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

输入格式:

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

输出格式:

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

输入样例:

1234567890987654321123456789
输出样例:
yi san wu
提交代码
#include<stdio.h>void printf_num(int num){	int i = 0,a[10];	char *name[] = {"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};	while(num>=10){		a[i++] = num%10;		num/=10;	}	a[i] = num;	while(i>0){		printf("%s ",name[a[i]]);		i--;	}	printf("%s",name[a[i]]);}int main(){	char num[100];	char *pnum = num;	int add = 0;	scanf("%s",num);	while(*pnum!='\0'){		add+=*pnum-'0';		pnum++;	}	printf_num(add);	return 0;	}

本来真的采用硬算的方法~~~一个劲地取余数,做整除,还写函数返回数组和指针,

后来百度了一下,看来大佬的代码和思想,深受启发。终于,利用字符串和ASCLL之间的差值来转换成真正的数字!!

源码

开心~~~

标签: #c语言输入一个整数输出每个数字对应的拼音