用c语言编写一个程序,输入两个随机的五位正整数,然后输出它们的和,如果输入的不是五位正整数,提示用户输入错误
时间: 2024-09-13 12:07:52 浏览: 43
当你想要用C语言编写这样一个程序时,可以按照以下步骤进行:
```c
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <time.h>
bool is_valid_number(char num[]) {
int len = strlen(num);
if (len != 5 || !isdigit(num[0]) || num[len - 1] == '0') {
return false;
}
for (int i = 1; i < len; i++) {
if (num[i] > '9' || num[i] < '0') {
return false;
}
}
return true;
}
int main() {
srand(time(0)); // 设置随机数种子
char num1[6], num2[6];
printf("请输入第一个五位正整数: ");
fgets(num1, sizeof(num1), stdin); // 读取一行输入
num1[strlen(num1) - 1] = '\0'; // 去除换行符
while (!is_valid_number(num1)) {
printf("输入错误,请输入一个五位正整数: ");
fgets(num1, sizeof(num1), stdin);
num1[strlen(num1) - 1] = '\0';
}
printf("请输入第二个五位正整数: ");
fgets(num2, sizeof(num2), stdin);
num2[strlen(num2) - 1] = '\0';
while (!is_valid_number(num2)) {
printf("输入错误,请输入一个五位正整数: ");
fgets(num2, sizeof(num2), stdin);
num2[strlen(num2) - 1] = '\0';
}
int sum = atoi(num1) + atoi(num2); // 转换字符数组到整型并求和
printf("两个数字的和是: %d\n", sum);
return 0;
}
```
阅读全文