给出一个不多于5位的整数,分别求出它是几位数 ,输出每一位数字、按逆序输出每位数字。
#include
int main() {
int num;
printf("请输入一个不多于5位的整数:");
scanf("%d", &num);
// 求出它是几位数
int count = 0, temp = num;
while (temp > 0) {
count++;
temp /= 10;
}
printf("该数为%d位数\n", count);
// 分别输出每一位数字
int digits[count], i = 0;
while (num > 0) {
digits[i] = num % 10;
num /= 10;
i++;
}
printf("每一位数字分别为:");
for (int j = count - 1; j >= 0; j--) {
printf("%d ", digits[j]);
}
printf("\n");
// 按逆序输出各位数字
printf("按逆序输出各位数字为:");
for (int j = 0; j < count; j++) {
printf("%d", digits[j]);
}
printf("\n");
return 0;
}
首先,该程序通过scanf函数从用户处获取一个输入整数num,并使用while循环来统计该整数的位数count。接着,程序使用另一个while循环从num中分离出每一位数字,并将它们存储在一个数组digits中。最后,程序分别输出了该数为几位数,每一位数字分别为多少以及按逆序输出各位数字。
总体来说,这段代码的主要作用是将一个整数拆分成其各位数字,并输出相应的信息。
领取专属 10元无门槛券
私享最新 技术干货