首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定函数中,函数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
75
问题
下列给定函数中,函数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://www.kaotiyun.com/show/bgJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序 void fun(int *a,int i,int j) { int t; if (i<j) { t=a[j]; a[i]=a[j]; a[j]=t; i++; j--; fun(a,i,j); } } main() { int x[]={2,
以下程序的运行结果是______。 #include <stdio.h> main() {int a[]:{1,2,3,4,5,6,7,8,9,10,11,12): int *p=a+5,*q=NULL: *q=*(p+5): printf("%d %d\
设有以下程序#include<stdio.h>main(){intn1,n2;scanf("%d",&n2);while(n2!=0){n1=n2%10;n2=n2/10
语句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); }
以下与函数fseek(fp,OL,SEEK_SET)有相同作用的是______。
一些重要的程序语言(如C语言和Pascal语言)允许过程的递归调用。而实现递归调用中的存储分配通常用______。
以下程序中,fun()函数的功能是求3行4列二维数组每行元素中的最大值,请填空。voidfun(int,int,int(*)[4],int*);main(){inta[3][4]={{12,41,36,28},{19,33
以下程序的功能是:输出a、b、c三个变量中的最小值。#include<stdio.h>main(){inta,b,c,t1,t2;scanf("%d%d%d"
读取二进制文件的函数调用形式为:fread(buffer,size,count,fp);,其中buffer代表的是
随机试题
因感受山岚瘴毒之气而发者为但寒不热者为
某3年期债券年利率为5%,筹资费用率为1%,实际筹资额与名义借贷额相同,采用简化计算式计算的借贷资金成本为()。
1965年,美国学者威尔帕.汤普森(WilburThompton)的()一书出版,标志着城市经济学正式成为一门独立的学科。
点子排列接近控制界限是指( )。
关于税务规章,下列表述不正确的是()。
下列各项中,属于有限责任公司董事会行使的职权是()。
焦虑等级建构的原则为()。
已知n(n≥3)阶实矩阵A=(aij)n×m满足条件:(1)aij=Aij(i,j=1,2,…,n),其中Aij是aij的代数余子式;(2)a11≠0.求|A|.
Ms.Zaragozawas______notifiedofherreassignmenttotheDublinofficeinaletterfromthehumanresourcesdirector.
Whatpositionarethecandidatesapplyingfor?
最新回复
(
0
)