首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
编写函数void fun(char *tt,int pp[]),统计在tt所指的字符串中′a′到′z′26个小写字母各自出现的次数,并依次放在pp所指的数组中。 例如,当输入字符串″abcdefgabcdeabc″后,程序的输出结果应该是: 3 3 3 2
编写函数void fun(char *tt,int pp[]),统计在tt所指的字符串中′a′到′z′26个小写字母各自出现的次数,并依次放在pp所指的数组中。 例如,当输入字符串″abcdefgabcdeabc″后,程序的输出结果应该是: 3 3 3 2
admin
2019-04-14
70
问题
编写函数void fun(char *tt,int pp[]),统计在tt所指的字符串中′a′到′z′26个小写字母各自出现的次数,并依次放在pp所指的数组中。
例如,当输入字符串″abcdefgabcdeabc″后,程序的输出结果应该是:
3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include <stdio.h>
#include <string.h>
void fun(char *tt,int pp[])
{
}
main()
{
char aa[1000];
int bb[26],k;
void NONO();
printf(″\nPlease enter a char string:″):
scanf(″%s″,aa);
fun(aa,bb);
for(k=0;k<26;k+ +)
printf(″%d″,bb[k]);
printf(″\n″);
NONO();
}
void NONO()
/*本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/
{
char aa[1000];
int bb[26],k,i;
FILE *rf,*wf;
rf=fopen(″in.dat″,″r″);
wf=fopen(″out.dat″,″w″);
for(i=0;i<10;i+ +)
{
fscanf(rf,″%s″,aa);
fun(aa,bb);
for(k=0;k<26;k+ +)
fprintf(wf,″%d″,bb[k]);
fprintf(wf,″\n″);
}
fclose(rf);
fclose(wf);
}
选项
答案
void fun(char *tt,int pp[]) { int i: for(i=0;i<26;i+ +) pp[i]=0;/*初始化pp数组各元素为0*/ for(;*tt!=′\0′;tt+ +) if(*tt> =′a′&&*tt< =′z′) pp[*tt—′a′]+ +; }
解析
本题考查:for循环语句,注意循环变量取值范围以及循环体语句作用;数组元素初始化和赋值操作;if语句条件表达式,需注意条件表达式的逻辑运算;字符串结束标识′\0′。
要求统计在tt所指字符串中a~z共26个小写母各自出现的次数,并依次放在pp所指数组中。首先使用for循环语句初始化pp数组中分别用来统计26个字母的个数,再使用循环判断语句对tt所指字符串中的字符进行逐一比较操作,同时存入相对应的pp数组中。
转载请注明原文地址:https://kaotiyun.com/show/X1Rp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
请读程序:#include<stdio.h>#include<string.h>main(){char*s1="AbCdEf",*s2="aB";s1++;s2++;printf("%d\
以下程序的功能是根据输入的"y"("Y")与"n"("N"),在屏幕上分别显示出"ThisisYES."与"ThisisNO."。空白处需要填入的内容是#includevoidYesNo(charch){switch(ch)
在一棵二叉树中,度为0的结点的个数为n0,度为2的结点的个数为n2,则有n0=【】。
有以下程序:main(){chara1=’M’,a2=’m’;printf("%c\n",(a1,a2));}以下叙述中正确的是()。
若有以下定义:structlink{intdata;structlink*next;}a,b,c,*p,*q;且变量a和b之间已有下图所示的链表结构:指针p指向变量a,指针q指向变量c,
下列能正确进行字符串赋值的是()。
若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是
以下函数将b字符串连接到a字符串的后面,并返回a中新字符串的长度。strcen(charaC),charb[]){intnum=0,n=0;while(*(a+num)!=【】)num++;
随机试题
整体式滑动轴承修理,一般采用金属喷镀法,对大型或贵重材料的轴泵采用更新的方法。()
急性血源性骨髓炎最常见的致病菌是乙型链球菌。()
在下列间隙感染中,最常引起颌骨边缘性骨髓炎的是
头部外伤后,最常扪及头皮下波动的是
村民乙为了多获土地补偿款,找到负责核定土地面积的国家机关工作人员甲,与甲商量,让甲核定面积时多写面积。甲答应,将乙的核定土地面积从30平方米改到100平米,之后让其具体负责核定面积的下属丙签字。乙因此多获了40万元的土地补偿款,取出10万元给了甲。对于甲的
关于钢结构优点的说法,错误的是:
下列关于干粉灭火系统的说法中,不正确的是()。
下列关于信用风险评级标准法下信用风险计量框架的表述,正确的有()。
Barry,Here’saquickstatusreportonthecurrentaffairsintheofficewhileyou’vebeengone.Ialsosentyouanemailinadd
OfalltheextraordinaryeventsinthelifeofJohnPaulII,fewcancomparewiththe21minuteshespentinacellinRome’sRe
最新回复
(
0
)