C语言输入一个整数,将该整数的每一位顺序输出 【输入形式】 【输出形式】 【样例输入】1032 【样例输出】1 0 3 2 【样例说明】 【评分标准】
时间: 2024-10-24 20:16:18 浏览: 6
在C语言中,你可以通过遍历整数每一位并逐个输出的方式来实现这个功能。这里是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h> // 需要此头文件来获取itoa函数
// 自定义将数字转换成字符数组的函数,类似itoa()
char* int_to_chars(int num) {
char result[10];
int i = 0;
if (num == 0) {
result[i++] = '0';
} else {
while (num > 0) {
result[i] = (num % 10) + '0'; // 取余并转为字符
num /= 10; // 向左移位
i++;
}
result[i] = '\0'; // 添加字符串结束符
reverse(result); // 逆序字符串
}
return result;
}
// 逆序字符数组
void reverse(char* str) {
int start = 0, end = strlen(str) - 1;
while (start < end) {
char temp = str[start];
str[start] = str[end];
str[end] = temp;
start++;
end--;
}
}
int main() {
int input;
printf("请输入一个整数:");
scanf("%d", &input);
char* digits = int_to_chars(input);
printf("每一位顺序输出:");
for (int i = 0; digits[i]; i++) {
printf("%c ", digits[i]);
}
printf("\n");
free(digits); // 注意释放动态分配的内存
return 0;
}
```
**样例输入**:
```
1032
```
**样例输出**:
```
1 0 3 2
```
**评分标准**:
1. 程序能正确读取输入的整数。
2. 每一位数字按原顺序输出。
3. 数字之间有空格分隔。
4. 输入大数也能正确处理,如123456789。
阅读全文