gzfz23
gzfz23
采纳率66.7%
2020-04-01 18:40

贝贝的车牌问题:头文件限制为#include<stdio.h>

5
已采纳

题目:
广州市车管所为每一辆入户的汽车都发放一块车牌,车牌的号码由六个字符组成,如A99452、B88888等,这个字符串从左边数起的第一个字符为大写英文字母,如:A、B、C等表示这辆车是属于广州市区内的汽车还是郊区的汽车,后面的五位由数字组成。假定以字母A、B、C、D、E、F、G、R、S、T开头的表示是市区车牌,而以其他字母开头的表示郊区车牌。请你编程找出所给出的车牌中有多少辆是广州郊区的汽车。

输入要求:
第一行是一个正整数N(1≤N≤10^5),表示共有N个车牌,接下来的N行,每行是一个车牌号。题目保证给出的车牌不会重复。

输出要求:

只有一行,广州郊区车牌的数量。

老师要求:头文件只能用#include<stdio.h ,循环语句只能用for、switch和while

我看了论坛里的解法,然后发现都没学(……)。

下面是我本人写的代码(大概能用的语句都在里面了),未报错,但是不符合要求

#include<stdio.h>
int main (){
    int n, sum; //n为车牌数量,sum为符合要求的数量
    char z;   //z为车牌号

    while(scanf("%d\n", &n) !=EOF){

        do{
            scanf("%c\n",  &z);

        if (z==65 || z==66 || z==67 || z==68 || z==69 || z==70 ||z==71 || z==82 || z==83 || z==84)
        {
        sum= sum + 1;
        }
        n--;
     }while(n==0);

    printf("%d", sum); n=0, sum=0;
    } 
    return 0;
}

能否帮我改进我的代码,使其可以满足题目要求,且满足老师的要求

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • caozhy 回答这么多问题就耍赖把我的积分一笔勾销了 1年前
    #include <stdio.h>
    
    int main(){
        int n;
        int m = 0;
        char a[100];
        scanf("%d", &n);
        while(n-->0)
        {
            scanf("%s", &a[0]);
            switch(a[0])
            {
                case 'A':
                case 'B':
                case 'C':
                case 'D':
                case 'E':
                case 'F':
                case 'G':
                case 'R':
                case 'S':
                case 'T':
                m++;
                break;
            }
        }
    printf("%d\n", m);
    
    
    }
    
    点赞 2 评论 复制链接分享