#include<stdio.h>
#include<math.h>
#define M 1000
int main() {
int x, t, i, q, p;
int a[M];
scanf("%d", &x);
for (i = 0;x / 10 != 0 ; x /= 10,i++) {
a[i] = x % 10;
}
p = i;//将x中各数依次取出
for (t = 0; t < p; t++,i--) {
for (q = i; q > 0; q--) {
a[t] *= 10;
}
x += a[t];
}//将数组中各数依次组成逆序数
return 0;
}
错误:
- 注意由于x/10!=0为循环结束条件,则最后的个位数没有赋值进入数组,x=个位数
- 注意数组中各元素应乘的10的倍数的循环
- 注意如果使用a[i]中的i来进行10倍数的循环,则要将i的值赋值给另一数,否则最外面的循环条件将发生改变,导致程序错误