编写一个程序
1. 限行规则:
周一至周五限行,周六周日不限行。
雾霾指数低于200时不限行。
雾霾指数在200至399之间时,每天限行两个尾号的汽车:
周一限行1和6。
周二限行2和7。
周三限行3和8。
周四限行4和9。
周五限行5和0。
雾霾指数在400或以上时,每天限行五个尾号的汽车:
周一、周三和周五限行1, 3, 5, 7, 9。
周二和周四限行0, 2, 4, 6, 8。
2. 输入说明:
输入三个整数,用空格分隔。
第一个整数表示车牌号(至多6位数字)。
第二个整数表示雾霾指数(0-600)。
第三个整数表示星期几(1-7,1表示周一,2表示周二,7表示周日)。
3. 输出说明:
如果车辆可以出行(不限行),输出"Yes"。
如果车辆限行,输出"No"。
如果输入数据不符合数值范围,输出"input error"。
4. 输入样例:
样例1:137891 123 1
样例2:0 265 5
样例3:-32132 256 2
5. 输出样例:
样例1:Yes
样例2:No
样例3:input error
车辆限行c语言编程题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
关注代码如下:(答题不易,还请题主采纳!)
#include <stdio.h> int main() { int plateNumber, hazeIndex, dayOfWeek; // 读取输入 scanf("%d %d %d", &plateNumber, &hazeIndex, &dayOfWeek); // 检查输入数据范围 if (plateNumber < 0 || plateNumber > 999999 || hazeIndex < 0 || hazeIndex > 600 || dayOfWeek < 1 || dayOfWeek > 7) { printf("input error\n"); return 0; } // 判断是否限行 if ((dayOfWeek >= 1 && dayOfWeek <= 5) && hazeIndex >= 200) { if ((dayOfWeek == 1 && (plateNumber % 10 == 1 || plateNumber % 10 == 6)) || (dayOfWeek == 2 && (plateNumber % 10 == 2 || plateNumber % 10 == 7)) || (dayOfWeek == 3 && (plateNumber % 10 == 3 || plateNumber % 10 == 8)) || (dayOfWeek == 4 && (plateNumber % 10 == 4 || plateNumber % 10 == 9)) || (dayOfWeek == 5 && (plateNumber % 10 == 5 || plateNumber % 10 == 0))) { printf("No\n"); } else { printf("Yes\n"); } } else if (hazeIndex >= 400) { if ((dayOfWeek == 1 || dayOfWeek == 3 || dayOfWeek == 5) && (plateNumber % 10 == 1 || plateNumber % 10 == 3 || plateNumber % 10 == 5 || plateNumber % 10 == 7 || plateNumber % 10 == 9)) { printf("No\n"); } else if ((dayOfWeek == 2 || dayOfWeek == 4) && (plateNumber % 10 == 0 || plateNumber % 10 == 2 || plateNumber % 10 == 4 || plateNumber % 10 == 6 || plateNumber % 10 == 8)) { printf("No\n"); } else { printf("Yes\n"); } } else { printf("Yes\n"); } return 0; }本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报