c语言实现验证输入的必须全部是数字0~9构成的字符串,利用函数checkNumber验证输入的字符串中的每个字符是否全为数字0~9之一,如果是则返回1,否则返回0。然后利用函数getNumberString容错地读取一个全由数字0~9组成的数字字符串。要求编写完整的程序测试运行你所写的函数。 输入语句为:"请输入一个全为数字的字符串:\n“ 输出语句为:"你输入的正确的数字串为:%s\n" 程序的运行示例如下: 请输入一个全为数字的字符串: abc 请输入一个全为数字的字符串:a123 请输入一个全为数字的字符串:1a23 请输入一个全为数字的字符串:123 你输入的正确的数字串为:123
时间: 2023-12-14 16:36:41 浏览: 213
编写一个程序接受用户输入的字符。如果输入的字符是0-9数字中的一个,则显示“您输入了一个数字”,否则显示“这不是一个数字”。
以下是实现该功能的C语言程序:
```c
#include <stdio.h>
#include <ctype.h> // 包含 isdigit 函数的头文件
// 函数声明
int checkNumber(char* str);
void getNumberString(char* str);
int main() {
char str[100];
printf("请输入一个全为数字的字符串:\n");
getNumberString(str);
printf("你输入的正确的数字串为:%s\n", str);
return 0;
}
// 验证输入的字符串是否全为数字
int checkNumber(char* str) {
for (int i = 0; str[i] != '\0'; i++) {
if (!isdigit(str[i])) {
return 0; // 如果有非数字字符,则返回0
}
}
return 1; // 否则返回1
}
// 容错读取数字字符串
void getNumberString(char* str) {
while (1) {
scanf("%s", str);
if (checkNumber(str)) {
break; // 如果输入的字符串全为数字,则退出循环
} else {
printf("输入错误,请重新输入一个全为数字的字符串:\n");
}
}
}
```
程序运行示例如下:
```
请输入一个全为数字的字符串:
abc
输入错误,请重新输入一个全为数字的字符串:
a123
输入错误,请重新输入一个全为数字的字符串:
1a23
输入错误,请重新输入一个全为数字的字符串:
123
你输入的正确的数字串为:123
```
阅读全文