解题思路:
注意事项:
参考代码:
#include <stdio.h>
#include <math.h>
//给一个不多于5位数的正整数,求出它是几位数,分别输出每一位数字,按逆序输出各位数字
int main()
{
int num, indiv, ten, hundred, thousand, ten_thousand, place;
//printf("请输入一个整数(0~99999):");
scanf("%d", &num);
while (num>99999 || num<0)
scanf("%d", &num);
if (num>9999) place = 5;
else if (num>999) place = 4;
else if (num>99) place = 3;
else if (num>9) place = 2;
else place = 1;
//printf("这是一个%d位数.\n", place);
printf("%d\n", place);
//printf("每位数字分别为:");
ten_thousand = num/10000;
thousand = (num-ten_thousand*10000)/1000;
hundred = (num-ten_thousand*10000-thousand*1000)/100;
ten = (num-ten_thousand*10000-thousand*1000-hundred*100)/10;
indiv = num-ten_thousand*10000-thousand*1000-hundred*100-ten*10;
switch (place)
{
case 5: printf("%d %d %d %d %d\n", ten_thousand, thousand, hundred, ten, indiv);
//printf("该%d位数的反序为:", place);
printf("%d%d%d%d%d\n", indiv, ten, hundred, thousand, ten_thousand);break;
case 4: printf("%d %d %d %d\n", thousand, hundred, ten, indiv);
//printf("该%d位数的反序为:", place);
printf("%d%d%d%d\n", indiv, ten, hundred, thousand);break;
case 3: printf("%d %d %d\n", hundred, ten, indiv);
//printf("该%d位数的反序为:", place);
printf("%d%d%d\n", indiv, ten, hundred); break;
case 2: printf("%d %d\n", ten, indiv);
//printf("该%d位数的反序为:", place);
printf("%d%d\n", indiv, ten); break;
case 1: printf("%d\n", indiv);
//printf("该%d位数的反序为:", place);
printf("%d\n", indiv); break;
}
return 0;
}
0.0分
1 人评分
C语言训练-排序问题<1> (C语言代码)浏览:599 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:532 |
WU-格式化数据输出 (C++代码)浏览:1194 |
WU-陶陶摘苹果2 (C++代码)浏览:967 |
WU-判定字符位置 (C++代码)浏览:1395 |
WU-C语言程序设计教程(第三版)课后习题11.11 (C++代码)(想学链表的可以看看)浏览:1345 |
【金明的预算方案】 (C++代码)浏览:934 |
A+B for Input-Output Practice (IV) (C语言代码)浏览:484 |
小九九 (C语言描述,不看要求真坑爹)浏览:981 |
简单的a+b (C语言代码)浏览:628 |