首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,规定输入的字符串全部为字母,fun函数的功能是:统计a所指字符串中每个字母在字符串中出现的次数(统计时不区分大小写),并将出现次数最
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,规定输入的字符串全部为字母,fun函数的功能是:统计a所指字符串中每个字母在字符串中出现的次数(统计时不区分大小写),并将出现次数最
admin
2018-10-21
31
问题
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,规定输入的字符串全部为字母,fun函数的功能是:统计a所指字符串中每个字母在字符串中出现的次数(统计时不区分大小写),并将出现次数最高的字母输出(如果有多个相同,输出一个即可)。
例如对于字符串:dadbcdbabdb,对应的输出应为:b或d。
请改正函数fun中指定部位的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include<stdio.h>
#include<stdio.h>
#include<string.h>
void fun(char a[])
{int b[26],i,n,max;
for(i=0;i<26;i++)
/*********found*********/
a
=0;
rl=strlen(a);
for(i=0;i<n;i++)
if(a
>=’a’&&a
<=’z’)
/*********found*********/
b[a
﹣’A’]++;
else if(a
>=’A’&&a
<=’Z’)
b[a
﹣’A’]++;
max=0;
for(i=1;i<26;i++)
/*********found*********/
if(b[max]>b
)
max=i;
printf("出现次数最多的字符是:
%c\n",max+’a’);
}
main()
{char a[200];
printf("请输入一个待统计的字符串:");scanf("%s",a);
fun(a);
}
选项
答案
(1)b[i]=0; (2)b[a[i]﹣’a’]++; (3)if(b[max]<b[i])
解析
要统计字符串中每个字符在这个字符串中出现的次数,可以设数组b中存放每个字符出现的次数b[0]存放字符a的次数,b[1]存放字符b的次数……。统计之前为数组b各元素赋初值为0。然后依次取出字符串的每个字符进行判断,使对应数组b加1。max初始值为0,与数组b中的每个元素进行比较,如果小于,就把下标进行交换。
(1)数组a存放的是字符串,数组b为整型数组存放的是每个字符的个数,应将数组b每个元素初始化为0。
(2)小写字母的ASCII码减去’a’的ASCII即为相应字母的下标值,相应下标值的数组元素的值增加1。
(3)最大值小于被比较数时,把被比较数的下标值赋给max,max中存放的总是当前最大值。
转载请注明原文地址:https://kaotiyun.com/show/Hcxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
执行以下程序后的输出结果是【】。main(){inta=10;a=(3*5,a+4);printf("a=%d\n",a);}
下列程序的功能是:求出ss所指字符串中指定字符的个数,并返回此值。例如,若输入字符串123412132,输入字符1,则输出3,请填空。#include<conio.h>#include<stdio.h>#defineM81
实现算法所需的存储单元多少和算法的工作量大小分别称为算法的【】。
设有如下程序#include<stdio.h>main(){int**k,*j,i=100;j=&i;k=&j;printf("%d\n"”,**k);}上述程序的输
在C语言中引用数组元素时,其数组下标的数据类型只能是()。
若有以下程序#includeinta[]={2,4,6,8};main(){inti;int*p=a;for(i=0;i
下列程序的运行结果是()。main(){inta=-5,b=1,c=1;intx=0,Y=2,z=0;if(c>0)x=x+y;if(a<=0){if(b>0)if(c<=0)y=x-
数据的存储结构是指()。
如下程序的输出结果是______。main(){staticinta[4]={1,2,3,4};int**k,*j;j=a+1;k=&j;printf("%d\n",*(*k+2));
随机试题
强夯地基施工结束后,应进行检验的项目有()。
静脉肾盂造影,有诊断价值的疾病是
背景某建筑工程,建筑面积35000m2;地下2层,地上25层,筏板基础,钢筋混凝土剪力墙结构。室内隔墙采用加气混凝土砌块。建设单位依法选择了施工总承包单位,签订了施工总承包合同。合同约定:室内墙体等部分材料由建设单位采购;建设单位同意施工总承包单位将部分
在进行资本预算时,ABC的管理层对于X项目选择了较高的最低报酬率,这是因为管理层
一家基金公司通过一家证券公司的交易席位买卖证券的年交易佣金,不得超过其当年所有基金买卖证券交易佣金的();新成立的基金管理公司,自管理的首只基金成立后第二年起执行。
某企业位于县城,为增值税一般纳税人,2020年2月税务机关对其上一年度纳税情况检查中发现如下问题:(1)所属某仓库多提折旧100000元;(2)7月为本企业基建工程购入材料226000元,其会计处理为:借:在建工程200000应
2015年我国某市公民王某取得如下收入:(1)每月工资收入5400元,已按照所在省规定的比例扣除住房公积金及各项社会保险费740元;5月按国家规定标准取得差旅费津贴460元,6月取得半年奖金3000元;12月取得年终奖12000元;(2)2月购进A种债
会议的主持人的位置应该安排在()。
(1)设系统由100个相互独立的部件组成。运行期间每个部件损坏的概率为0.1.至少有85个部件是完好时系统才能正常工作,求系统正常工作的概率。(2)如果上述系统由n个部件组成,至少有80%的部件完好时系统才能正常工作。问n至少多大才能使系统正常工作的概
Atwhattimedoestheboyarriveatschoolaccordingtohimself?
最新回复
(
0
)