用c语言编写根据程序生成的两位随机数(10-99)和用户输入的两位数判断用户的奖金。规则为:生成和输入的完全匹配输出“you win 1000”,数字完全匹配但顺序不对,输出“you win 500”,只匹配一个数字,输出“you win 100”,都不匹配输出“you win noting”。要求能过滤不合理的整数输入(不考虑字符的不合理输入)。
时间: 2023-05-21 22:00:45 浏览: 121
以下是用C语言编写的代码,可以根据程序生成的两位随机数和用户输入的两位数判断用户的奖金:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int num1, num2, guess1, guess2;
int match = 0, partial_match = 0;
// 生成两位随机数
srand(time(NULL));
num1 = rand() % 90 + 10;
num2 = rand() % 90 + 10;
// 获取用户输入的两位数
printf("请输入两位数:");
if (scanf("%2d%2d", &guess1, &guess2) != 2) {
printf("输入不合法!\n");
return 0;
}
// 判断数字匹配情况
if (guess1 == num1) {
match++;
} else if (guess1 == num2) {
partial_match++;
}
if (guess2 == num2) {
match++;
} else if (guess2 == num1) {
partial_match++;
}
// 输出奖金情况
if (match == 2) {
printf("you win 1000\n");
} else if (match == 1 && partial_match == 1) {
printf("you win 500\n");
} else if (match == 1 || partial_match == 1) {
printf("you win 100\n");
} else {
printf("you win nothing\n");
}
return 0;
}
```
该程序会先生成两个随机数,然后要求用户输入两位数。如果用户输入的不是两位数,程序会提示输入不合法。如果输入合法,程序会判断用户输入的数字与随机数的匹配情况,并输出相应的奖金。如果用户输入的数字完全匹配,输出"you win 1000";如果数字完全匹配但顺序不对,输出"you win 500";如果只匹配一个数字,输出"you win 100";如果都不匹配,输出"you win nothing"。
阅读全文