PAT乙级1002 写出这个数 C语言 最好理解的解法

本文介绍了PAT乙级编程题1002的C语言解法,强调了面对难题时应如何分析题目并逐步解决问题。通过将大数转换为字符数组,再逐位转换和计算,最终实现从高位到低位的输出。文章提供了程序代码,并提及了使用scanf代替gets的原因。
摘要由CSDN通过智能技术生成

说在前面:

作为编程小白,拿到一个编程题,如果一时间没有很好的解题思路,可以去尝试把题目分解。

例如哪个地方需要一个读入哪个地方需要一个输出以及如何实现等,在我们手写的过程中就会认清这个题目要考我们的是什么。

我建议新手最好是去动手写一写题目的需求,这样不仅可以帮助我们理清解题思路还可以锻炼我们的编程思维,慢慢从手写→心写。

(不可操之过急,一步一个脚印)

先看题目:

输入样例:1234567890987654321123456789

输出样例:yi san wu 

思路:

1.数值很大不能用常规int每位加和,然后switch。

2.所以采用数组将每一位以字符型读进数组。

3.将数组里每个数由字符型转化为整型并且加和。

4.想办法从高到低读出来。

上程序! 

#include <stdio.h>
#include <string.h>
int main(){
    char a [1000];
    int b [50];
    int i,length, sum = 0,digits,t,orig,j;      //digits位数、orig是sum的替代品
    digits = 0;
    scanf("%[^\n]%*c", a);
    char py[10][10]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值