首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定函数中,函数fun()的功能是:统计字符串中各元音字母(即A,E,I,O,U)的个数。注意:字母不分大小写。例如,输入THIs is a boot,则应输出是1 0 2 2 0。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改
下列给定函数中,函数fun()的功能是:统计字符串中各元音字母(即A,E,I,O,U)的个数。注意:字母不分大小写。例如,输入THIs is a boot,则应输出是1 0 2 2 0。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改
admin
2013-06-12
81
问题
下列给定函数中,函数fun()的功能是:统计字符串中各元音字母(即A,E,I,O,U)的个数。注意:字母不分大小写。例如,输入THIs is a boot,则应输出是1 0 2 2 0。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include <conio.h>
#include <stdio.h>
/*************found**************/
fun(char *s, int num[5])
{ int k, i=5;
for(k=0;k<i;k++)
/*************found**************/
num
=0;
for{;*s;s++)
{ i=-l;
/*************found**************/
switch(s)
{ case ’a’: case ’A’:{i=0;break;}
case ’e’: case ’E’:{i=1;break;}
case ’i’: case ’I’:{i=2;break;}
case ’o’: case ’O’:{i=3;break;}
case ’u’: case ’U’:{i=4;break;}
}
if(i>=0)
num
++;
}
}
main ( )
{ char s1[81]; int num1[5], i;
clrscr ();
printf("\nPlease enter a string: ");
gets (s1);
fun{s1, num1);
for(i=0;i<5;i++) printf("%d",num1
);
printf ("\n");
}
选项
答案
(1)错误: fun(char *s, int num[5]) 正确: void fun(char *s, int hum[5]) (2) 错误: num[i]=0; 正确: num[k]=0; (3) 错误: switch(s) 正确: switch(*s)
解析
switch语句说明:
(1)switch后的表达式,可以是整型或字符型,也可以是枚举类型的。在新的ANSIC标准中允许表达式的类型为任何类型。
(2)每个case后的常量表达式只能是常量组成的表达式,当switch后的表达式的值与某一个常量表达式的值一致时,程序就转到此case后的语句开始执行。如果没有一个常量表达式的值与swish后的值一致,就执行default后的语句。
(3)各个case后的常量表达式的值必须互不相同,不然的话程序就不知该跳到何处开始执行。
(4)各个case的次序不影响执行结果,一般情况下,尽量使用出现机率大的case放在前面(为什么,等学到《数据结构》就知道了)。
(5)在执行完一个case后面的语句后,程序流程转到下一个case后的语句开始执行。千万不要理解成行完一个case后程序就转到switch后的语句去执行了。
在本例中,其他错误都比较简单,而且我们在前面已经介绍过了。
转载请注明原文地址:https://kaotiyun.com/show/bgJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序 #define N 20 fun(int a[],int n,int m) { int i,j; for(i=m;i>=n;i--) a[i+1]=a[i]; } main() { int i,a[N]={1,2,3,4,5,6,7,8,9,1
若按功能划分,软件测试的方法通常分为白盒测试方法和______测试方法。
执行以下程序后,输出’*’号的个数是______。#include<stdio.h>main(){inti,j;for(i=1;i<6;i++)for(j=2;j<=i;j++)putch
语句printf("a\bhow\’s\\\bhe\n");的输出结果是______。(说明:’b’是退格符)
下列程序的输出结果是______。 #include<stdio.h> main() { double d=3.2;int x,y; x=1.2;y=(x+3.8)/5.0; printf("%d\n",d*y); }
单链表要求内存中可用存储单元的地址______。
数据的存储结构包括顺序、______、索引和散列四种基本类型。
下列程序是处理C盘根目录下的a.txt文件,统计该文件中字符的个数。请填空,使程序完整。#include<stdio.h>main(){FILE*fp;charch;longnum=0;if
下列程序把数组元素中的最大值放入a[0]中。则在if语句中的条件表达式应该是______。main(){inta[10]={6,7,2,9,1,10,5,8,4,3},*p=a,i,bfor(i=0:i<10:i++,p+
随机试题
反映卫生资源分配是否合理的指标是
宫颈癌镜下早期浸润,深度<5mm,临床分期是
下列哪一物质为碱性蛋白质
新建商品住宅小区的业主大会成立之前,住房维修资金()。[2007年考题]
在单位工程或子单位工程质量验收时,应对其是否符合设计和规范要求及总体质量水平做出评价,其综合验收结论由参加验收的( )共同商定。
根据《民法典》合同编的规定,下列属于合同义务转移的法律后果有()。
以卜应按照“财产转让所得”项目征收个人所得税的有()。
在延安时期,①开展整风运动;②三五九旅奉命开进南泥湾;③召开延安文艺工作者座谈会。上述历史事件出现的先后顺序是:
在房价不断________的当今中国,我们甚至有理由怀疑,中国的中产阶层已经被高房价消灭。受过良好教育的大学生是最有可能成为中产阶层的群体,然而,在这个遍地都是大学生的年代,我们却看不到中产阶层成长的希望。毕业即失业已是一种________。初入社会的他们
已知3阶矩阵B≠0,且B的每一列向量都是以下方程组的解(1)求λ的值;(2)证明|B|=0.
最新回复
(
0
)