题目描述:
小明正在学习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的长度,并将结果赋值给n
printf("%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,表示程序正常结束
}