gzfz23 2020-04-01 18:40 采纳率: 0%
浏览 362
已采纳

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

题目:
广州市车管所为每一辆入户的汽车都发放一块车牌,车牌的号码由六个字符组成,如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条回答 默认 最新

  • threenewbee 2020-04-01 23:57
    关注
    #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);
    
    
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)