填空题 1.  请补充函数proc(),该函数的功能是:分类统计一个字符串中元音字母和其他字符的个数(不区分大小写)。
    例如,输入imnlaeouOWC,结果为:A:1 E:1 I:2 O:2 U:1 other:4。
    注意:部分源程序给出如下。
    请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。
    试题程序:
    #include <stdlib.h>
    #include <stdio.h>
    #include <conio.h>
    #define M 100
    void proc(char *str,int bb[])
    {
    char *p=str;
    int i=0;
    for(i=0;i<6;i++)
    ______;
    while(*p)
    {
    switch(*p)
    {
    case 'A':
    case 'a': bb[0]++; break;
    case 'E';
    case 'e': bb[1]++; break;
    case 'I':
    case 'i': bb[2]++; break;
    case '0':
    case 'o': bb[3]++;break;
    case 'U':
    case 'u': bb[4]++;break;
    default: ______;
    }
    ______
    }
    }
    void main()
    {
    char str[M], ss[6]="AEIOU";
    int i;
    int bb[6];
    system("CLS");
    printf("Input a string:<n");
    gets(str);
    printf("the string is:<n");
    puts(str);
    proc(str,bb);
    for(i=0;i<5;i++)
    printf("<n%c:%d",ss[i],bb[i]);
    printf("<nother:%d",bb[i]);
    }
  • 1、
【正确答案】 1、bb[i]=0
bb[5]++
p++;    
【答案解析】 由函数proc()可知,数组b中存放的是各个元音字母和其他字符的个数,其初始值为0,因此,第一空填“bb[i]=0”;由switch语句可知,b[5]中存放的是其他字符的个数,每检查到一个元音以外的其他字符,b[5]加1,因此,第二空填“bb[5]++”;指针变量p指向字符串中的字符,每检查完一个字符,指针p要向后移动一个位置,因此,第三空填“p++”。