车牌限行这个写不出来了c语言,求助大佬
某地举行活动,车辆限行:输入一行字符表示车牌号码,五位,只允许是0~9数字或大写英文字母,至少一位数字。
以下几种情况输出“非法输入”:
输入超过五位字符;
没有出现数字;
3)出现其他字符。
若最后一个出现的数字为奇数,输出“限行” ;否则输出“通行” 。
输入格式:
输入一行字符
输出格式:
输出判定结果:非法输入 或 限行 或 通行 #include <stdio.h>
#include <string.h>
int main() {
char s, n;
scanf("%s", s);
n = strlen(s);
if (n > 5) {
puts("非法输入");
return 0;
}
int ok = 0, have_number = 0, i;
for (i = 0; i < n; ++i) {
if (s >= '0' && s <= '9') {
have_number = 1;
ok = ((s - '0') % 2 == 1);
} else if (s < 'A' || s > 'Z') {
puts("非法输入");
return 0;
}
}
if (!have_number){
puts("非法输入");
return 0;
}
if (ok) puts("限行");
else puts("通行");
} #define _CRT_SEVURE_NO_WARNINGS
#include <stdio.h>
int main(void) {
char plateNumber;
int n, flag = n = 0, last;
while ((plateNumber = getchar()) != '\n');
plateNumber[--n] = '\0';
if (n > 5) {
printf("非法输入");
}
else {
for (int i = 0; i < n; ++i) {
if (plateNumber < '0' || (plateNumber > '9' && plateNumber < 'A') || plateNumber > 'Z') {
printf("限行");
return 0;
}
if (plateNumber > '0' && plateNumber < '9') flag = 1;
}
last = plateNumber - '0';
printf(last >= 0 && last <= 9 && !(last&1) && flag ? "通行" : "限行");
}
return 0;
} 傻眼貓咪 发表于 2022-12-11 20:58
输入一行字符表示车牌号码,五位,只允许是0~9数字或大写英文字母,至少一位数字。 zhangjinxuan 发表于 2022-12-12 08:11
{:10_285:}
页:
[1]