简单的题
输入一个不多于5位的数,要求 1,求他是几位数,2,分别打印出每一位数3,逆序打印此结果。求解。 #include <stdio.h>#include <math.h>
int place(int n){ for(int i = 4; i >= 0; i--) if(n >= pow(10, i)) return i+1; }
int digits(int n, int x){ return (n%(int)(pow(10, x)))/pow(10, x-1); }
void printDecreasing(int n){ for(int i = 1; i <= place(n); i++) printf("%d ", digits(n, i)); }
void printIncreasing(int n){ for(int i = place(n); i > 0; i--) printf("%d ", digits(n, i)); }
int main()
{
int n;
scanf("%d", &n);
printf("%d 位数\n循序每个数字:", place(n));
printIncreasing(n);
printf("\n");
printf("逆序每个数字:");
printDecreasing(n);
return 0;
}输入/输出:24689
5 位数
循序每个数字:2 4 6 8 9
逆序每个数字:9 8 6 4 2 {:10_254:} 你前面四行是什么意思,我还没有学那么多
第一行是求输入的数字有多少位;
第二行是求每一位的数字;
第三行是把每一位的数字正序打印出来;
第三行是把每一位的数字倒序打印出来; 学习学习
页:
[1]