题目描述:
小明正在学习C语言程序设计,一天小明觉得无聊,便去找小刚玩,小刚给小明出了一道题,让小明输入一个五位以内的正整数,然后需要做到三件事。首先,判断输入的是几位数;然后,按序输出其各位数字;最后,逆序输出其各位数字。小明想了很久没有结果,请你帮帮小明该如何设计。
输入描述:
第1行: 输入一个整数n(0-99999)
输出描述:
第1行: 输出的是这个整数的位数第2行:输出的是这个整数最初顺序第3行:输出的是这个整数逆序输出
样式输入:
98745
样式输出:
5
9 8 7 4 5
54789
#include<stdio.h> // 引入标准输入输出库
#include<string.h> // 引入字符串处理库int main() // 主函数
{char s[6]; // 定义一个字符数组,用于存储输入的字符串scanf("%s",s); // 从标准输入读取一个字符串,存储到字符数组s中int n,i; // 定义两个整型变量n和i,用于后续计算n=strlen(s); // 计算字符串s的长度,并将结果赋值给nprintf("%d\n",n); // 输出字符串s的长度for(i=0;i<n;i++){ // 遍历字符串s中的每个字符printf("%d",s[i]-'0'); // 将字符转换为对应的数字,并输出if(i!=n-1){ // 如果当前字符不是最后一个字符printf(" "); // 输出一个空格}}printf("\n"); // 输出一个换行符int sum=0; // 定义一个整型变量sum,用于存储字符串s的数字之和for(i=n-1;i>=0;i--){ // 从字符串s的最后一个字符开始遍历sum=sum*10+(s[i]-'0'); // 将字符转换为对应的数字,并将其累加到sum中}printf("%d\n",sum); // 输出字符串s的数字之和return 0; // 返回0,表示程序正常结束
}