#include<stdio.h>
int main(void)
{
int n,count = 0,num;
printf("请输入一个不多于5位的正整数:");
scanf("%d",&n);
num = n;
while(n)
{
n = n/10;
count++;
}
printf("为%d位数,逆序为:",count);
while(num)
{
printf("%-3d",num%10);
num = num/10;
}
return 0;
}
1759c-exercise-example29
参考实例:
#include <stdio.h>
int main( )
{
int x;
int y = 0;
printf("请输入一个正整数:\n");
scanf("%d", &x);
printf("逆序为:\n");
for (int i = x; i > 0; i /= 10)
{
printf("%d ", i % 10);
y++;
}
printf("\n为 %d 位数 \n", y);
}
1760c-exercise-example29
参考方法:
#include<stdio.h> int main(void) { int n,count = 0,num; printf("请输入一个不多于5位的正整数:"); scanf("%d",&n); num = n; while(n) { n = n/10; count++; } printf("为%d位数,逆序为:",count); while(num) { printf("%-3d",num%10); num = num/10; } return 0; }1759c-exercise-example29
参考实例:
#include <stdio.h> int main( ) { int x; int y = 0; printf("请输入一个正整数:\n"); scanf("%d", &x); printf("逆序为:\n"); for (int i = x; i > 0; i /= 10) { printf("%d ", i % 10); y++; } printf("\n为 %d 位数 \n", y); }1758c-exercise-example29
参考解法
#include <stdio.h> int main() { int i,j,k,count=0; printf("请输入一个不多于5位的正整数:"); scanf("%d",&i); printf("逆序为:"); for(j=1;j<=5;j++) { k=i%10; i=i/10; count++; printf("%d ",k); if(i==0) { break; } } printf("\n为 %d 位数\n",count); return 0; }1757c-exercise-example29
参考解法:
#include <stdio.h> #include<string.h> void Reverse_Output( int n); static char str[5]; int main() { printf("请输入你的整数:"); scanf("%s",str); printf("这是一个 %lu 位数。\n",strlen (str)); printf("逆序为:"); Reverse_Output(strlen (str)); return 0; } void Reverse_Output(int n) { while(n>0) { printf("%c ",str[--n]); } }1756c-exercise-example29
其他解法:
#include <stdio.h> int main() { int n; printf("请输入大于 10 的数字:"); scanf("%d",&n); int x[1000]; int i=0; int j=0; while(n!=0) { x[i]=n%10; n=n/10; i++; } int z=i; printf("该数字为 %d 位数",z); printf("\n逆序为:"); for(j=0;j<z;j++) { printf("%d ",x[j]); } }以上实例输出结果为: