首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C中规定输入的字符串全部为字母,fun函数的功能是:统计a所指字符串中每个字母在字符串中出现的次数(统计时不区分大小写),并将出现次数最高的字母输出 (如果有多个相同,输出一个即可)。 例如对于字符串:dadbedbabdb,对
给定程序MODI1.C中规定输入的字符串全部为字母,fun函数的功能是:统计a所指字符串中每个字母在字符串中出现的次数(统计时不区分大小写),并将出现次数最高的字母输出 (如果有多个相同,输出一个即可)。 例如对于字符串:dadbedbabdb,对
admin
2018-03-28
43
问题
给定程序MODI1.C中规定输入的字符串全部为字母,fun函数的功能是:统计a所指字符串中每个字母在字符串中出现的次数(统计时不区分大小写),并将出现次数最高的字母输出 (如果有多个相同,输出一个即可)。
例如对于字符串:dadbedbabdb,对应的输出应为: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;
n=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/iDxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序:#include<stdio.h>main(){unsignedinta;intb=-1;a=b;printf("%u",a);程序运行后的输出结果是()。
下面程序的运行结果是【】。intf(inta[],intn){if(n>1)returna[0]+f(&a[1],n-1);elsereturna[0];}main(){int
若语句“t=fun(fun(x,y,a),(a+b,a+C,x+y+z);”对fun函数的调用正确,则fun函数的形参个数为()。
以下程序企图把从终端输入的字符输出到名为abc.txt的文件中,直到从终端读入字符#号时结束输入和输出操作,但程序有错。#include main(){ FILE *fout; char ch;fout=fopen(’abc.txt’,’w’);ch=fg
阅读下列程序,当运行函数时,输入asdafaaz67,则输出为#include#include#includeintfun(char*str){inti,j=0;for(i=0;str[i]!=′\0′;
设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为()。
结构化程序设计主要强调的是______。
已知字符’A’的ASCII码值是65,字符变量cl的值是’A’,c2的值是’D’。执行语句Printf("%d,%d",c1,c2-2);后,输出结果是
以下程序中函数reverse的功能是将a所指数组中的内容进行逆置。voidreverse(inta[],intn){inti,t;for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-1-
设有以下定义和语句:inta[3][2]={1,2,3,4,5,6},*p[3];p[0]=a[1];则.(P[0]+1)所代表的数组元素是()。
随机试题
1904年,孙中山发表的指出只有推翻清政府的统治,建立“中华民国”,才能真正解决中国问题的文章是________。
银翘散与桑菊饮功用的主要区别是()
A.比色法B.比浊法C.在490nm处测定吸收度的方法D.高效液相色谱法E.薄层色谱法
某高层建筑采用梁板式筏形基础,柱网尺寸为8.7m×8.7m,柱横截面为1450mm×1450mm,柱下为交叉基础梁,梁宽为450mm,荷载效应基本组合下地基净反力为400kPa,设梁板式筏基的底板厚度为1000mm,双排钢筋,钢筋合力点至板截面近边的距离取
某平原水库水体面积为4500hm2,水深8.Om。在进行渔业资源调查时,采取的样品数至少应为()。
投资者购买保证收益理财计划时不承担任何风险。()
生产、销售不符合卫生标准的化妆品,实际销售金额5万元以上,但未造成严重后果的,应定( )。
甲不慎落水,乙奋勇抢救,抢救过程中致甲面部受伤,同时乙丢失手机一部。下列表述中哪一说法是正确的?
华盛顿国立气象研究所的墙上有这么一句话:“当我们做对了,没有人会记得;当我们做错了,没有人会忘记。”气象研究所的墙上写这句话的目的是()。
A、 B、 C、 A注意听对方的意见。(A)Ithinkso.是对所问之事表示同意时的回答,故为正确答案。(B)重复使用trip一词,易造成误导,并且,此项的时态和内容均与问题无关。(C)针对是否有足够的差旅费的提问
最新回复
(
0
)