请补充main函数,该函数的功能是:从字符串str中取出所有数字字符,并分别计数,然后把结果保存在数组b中并输出,把其他字符保存在N[10]中。 例如:当str1=“ab123456789cde090”时,结果为: 0: 2 1: 1

admin2009-02-15  44

问题 请补充main函数,该函数的功能是:从字符串str中取出所有数字字符,并分别计数,然后把结果保存在数组b中并输出,把其他字符保存在N[10]中。
   例如:当str1=“ab123456789cde090”时,结果为:
   0:  2    1:  1    2:  1    3:  1    4:  1    5:  1    6:  1    7:  1    8: 1  9:2  other charactor:5
   注意:部分源程序给出如下。
   请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
   试题程序:
       #include <stdio.h>
       #include <conio.h>
       main()
       {
         int i,b[11];
         char *str="abl23456789cde090";
         char *p=str;
         clrscr();
         printf("***the origial data ***\n");
         puts(str);
         for(i=0;i<11;i++)
             b=0;
         while(*p)
         {
              switch(【  】)
         {
                 case ’0’:b[0]++;break;
                 case ’1’:b[1]++;break;
                 case ’2’:b[2]++;break;
                 case ’3’:b[3]++;break;
                 case ’4’:b[4]++;break;
                 case ’5’:b[5]++;break;
                 case ’6’:b[6]++;break;
                 case ’7’:b[7]++;break;
                 case ’8’:b[8]++;break;
                 case ’9’:b[9]++;break;
                  【  】
            }
             【  】
         }
         printf("******  the  result  ********\n");
         for(i=0;i<10;i++)
           printf("\n%d:%d",i,b);
         printf("\nother charactor:%d",b);
       }

选项

答案*p default:b[10]++; p++;

解析 第一空:根据switch语句中case后面的常量表达式,可以看出,switch后面括号中的表达式应该是字符串str中的各字符,而指针p就是指向字符串str。第二空:和各个case后面的常量表达式不匹配的都属于其他字符,保存在b[10]中。第三空:指针p指向字符串s仕,通过p自加1来移动指针,访问字符串中的所有字符。
转载请注明原文地址:https://kaotiyun.com/show/PTID777K
0

最新回复(0)