编写一个程序,读入一个五位数,分割该数各个数位上的数字并将分割的数字以间隔三个空格的形式依次输出。用C语言来实现
时间: 2024-10-07 16:04:23 浏览: 71
在C语言中,你可以通过循环结构来实现这个需求。首先,你需要获取用户的输入,然后分割成单个字符,并检查是否为数字。以下是详细的代码示例:
```c
#include <stdio.h>
#include <ctype.h> // 包含处理字符类型的库函数
// 检查输入的字符是否为数字
int is_digit(char c) {
return '0' <= c && c <= '9';
}
int main() {
char input[7]; // 用于存储输入的五位数字符串,包含正则匹配前后的空格
scanf("%s", input); // 读取用户输入的五位数
// 去掉多余的空格
while (isspace(input[0])) {
input++;
}
if (input[4] == '\0') { // 如果输入不足五个字符,说明不是五位数
printf("输入的不是一个五位数。\n");
return 1;
}
while (isspace(input[4])) {
input[4] = '\0';
}
int digits[5] = {0}; // 存放每位数字
for (int i = 0; i < 5; ++i) {
if (is_digit(input[i])) {
digits[i] = input[i] - '0'; // 转换为数字
} else {
break; // 非数字字符,结束处理
}
}
// 输出数字,每三位加一个空格
for (int i = 0; i < 5; i++) {
if (i % 3 == 0 && i != 0) {
printf(" "); // 输出空格
}
printf("%d", digits[i]);
}
printf("\n");
return 0;
}
```
运行此程序,它将读取用户输入的五位数,然后以每三位数字加一个空格的方式输出。
阅读全文