首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C中函数fun的功能是:统计字符串中各元音字母(即:A、E、I、O、U)的个数。注意:字母不分大、小写。例如:若输入:THIs is aboot,则输出应该是:1、0、2、2、0。 请改正程序中的错误,使它能得出正确的结果。 注
给定程序MODI1.C中函数fun的功能是:统计字符串中各元音字母(即:A、E、I、O、U)的个数。注意:字母不分大、小写。例如:若输入:THIs is aboot,则输出应该是:1、0、2、2、0。 请改正程序中的错误,使它能得出正确的结果。 注
admin
2018-09-27
74
问题
给定程序MODI1.C中函数fun的功能是:统计字符串中各元音字母(即:A、E、I、O、U)的个数。注意:字母不分大、小写。例如:若输入:THIs is aboot,则输出应该是:1、0、2、2、0。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
1 #include<stdio.h>
2 void fun(char *s,int num[5])
3 { int k,i=5;
4 for(k=0;k<i;k++)
5 /**********found**********/
6 num
=0;
7 for(;*s;s++)
8 { i=-1;
9 /**********found**********/
10 switch(s)
11 {case’a’:case’A’:{i=0;break;}
12 case’e’:case’E’:{i=1;break;}
13 case’i’:case’I’:{i=2;break;}
14 case’o’:case’O’:{i=3;break;}
15 case’u’:case’U’:{i=4;break;}
16 }
17 if(i>=0)
18 num
++;
19 }
20 }
21 main()
22 {char s1[81];int numl[5],i;
23 printf(’’\nPlease enter a string:’’};gets(s1);
24 fun(s1,numl);
25 for(i=0;i<5;i++)printf(’’%d’’,numl
);printf’’\n’’);
26 }
选项
答案
(1)num[k]=0 (2)switch(*s)
解析
本题中函数的功能是统计字符串中各元音字母(即A、E、I、O、U)的个数。其中,本题在while循环中采用switch-case条件判断字符串中的每一个字符并进行统计。
(1)第一个标识下的for循环过程是将num数组中的变量初始值设置为0,用来统计每一个元音字母出现的个数,for循环中的循环条件表达式中的变量是k,所以第二个标识下“num
=0;”改为“num[k]=0;”
(2)第二个标识下的switch-case条件选择的功能应该是对s指针指向的字符串中的每一个字符进行判断,不应该是s的数组名,所以第三个标识下“switch(s)”改为“switch(*s)”。
转载请注明原文地址:https://kaotiyun.com/show/N8xp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若函数调用时的实参为变量,以下关于函数形参和实参的叙述中正确的是()。
下列程序输出的结果是()。main(){inta;a=-4+4*5-6;printf("%d",a);a=4+4%5-6;printf("%d",a);a=-3+4%6/5;printf("%d",
有如下程序: main() {char ch[2][5]={"6937","8254"},*p[2]; int i,j,s=0; for(i=0;i<2;i++)p[i]=ch[i]; for(i=0;i<2;i++) for(j=0;p[i][j]!=’
若运行以下程序时,从键盘输入ADescriptor<CR>(<CR>表示回车),则下面程序的运行结果是()。#include<stdio.h>main(){charc;intv0=1,v1=0,v2=0;do
以下四个选项,不能看作一条语句的是()。
已有定义:inti,a[10],*p;,则合法的赋值语句是
以下程序运行时,若从键盘输入:102030<回车>,输出的结果是【】。#include<stdio.h>main(){inti=0,j=0,k=0;scanf("%d%*d%d",&i,&j,&k);
若按功能划分,软件测试的方法通常分为白盒测试方法和()测试方法。
下列程序段是从键盘输入的字符中统计小写字母的个数,用换行符结束循环。请填空。intn=0,c;c=getchar();while(c!=’\n’){if(______)n++;}
随机试题
从“图书”表中查找出“计算机”类定价最高的前两条记录,正确的SQL命令是()。
普通话四个调类的基本调值是_____。
会计凭证按填制程序和用途不同可分为()
下列不属于人际传播的是
以下有关Goldmann压平眼压计说法不正确的是
药肝脏首过作用较大,可选用的适宜剂型是
一患者因五天来右上后牙肿痛就诊,今日症状已明显减轻。查右上第一磨牙邻面颈部龋深及髓,无探痛,叩痛(+),龈有小脓肿,扪表浅波动感。该患牙诊断为
当1,4-二氢吡啶类药物的C-2位甲基改—CH2OCH2CH2NH2后活性得到加强,临床常用其苯磺酸盐的药物是
乙公司是一家家族企业,依靠家传的食品配方经营着几家连锁食品店,以前店后厂的形式进行经营。随着大规模连锁食品企业的出现,该家族企业面临较大的竞争压力。王某是该家族企业年轻一代的继承人。王某根据自己在MBA学习期间学到的知识,认为公司应该进行变革,但变革就会面
VB6.0中的数据绑定控件必须______。
最新回复
(
0
)