首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写一个函数void fun(char *tt,int pp[]),统计在tt所指字符串中“’a’”到“’z’”26个小写字母各自出现的次数,并依次放在pp所指数组中。 例如,当输入字符串:abcdefgabcdeabc后,程序的输出结果应该是:
请编写一个函数void fun(char *tt,int pp[]),统计在tt所指字符串中“’a’”到“’z’”26个小写字母各自出现的次数,并依次放在pp所指数组中。 例如,当输入字符串:abcdefgabcdeabc后,程序的输出结果应该是:
admin
2018-09-27
101
问题
请编写一个函数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 O 0 0 0 0 0 0 0 0
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
1 #include<stdio.h>
2 #include<string.h>
3 void fun(char *tt,int pp[])
4 {
5
6 }
7 main()
8 { char aa[1000];
9 int bb[26],k;
10 void NONO();
11 printf(’’\nPlease enter a char string:’’);scanf(’’%s’’,aa);
12 fun(aa,bb);
13 for(k:0;k<26;k++)printf(’’%d’’,bb[k]);
14 printf(’’\n’’);
15 NONO();
16 }
17 void NONO()
18 {/*本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/
19 char aa[1000];
20 int bb[2 6],k,i;
21 FILE *rf,*wf;
22 rf=fopen(’’in.dat’’,’’r’’);
23 wf=fopen(’’out.dat’’,’’w’’);
24 for(i=0;i<10;i++){
25 fscanf(rf,’’%s’’,aa);
26 fun(aa,bb);
27 for(k=0;k<26;k++)
28 fprintf(wf,’’%d’’,bb[k]);fprintf(wf,’’\n’’);
29 }
30 fclose(rf);
31 fclose(wf);
32 }
选项
答案
1 char*p=tt; 2 int i; 3 for(i=0;i<26;i++)pp[i]=0; 4 while(*p){ 5 if(*p>=’a’&&*p<=’z’)pp[*p-’a’]+=1; 6 p++;}
解析
该程序功能是统计字符串中26个字母各自出现的次数。解题思路,从已给部分源程序的main主函数开始入手,函数形参指针tt接受主函数中字符数组aa的起始地址,形参pp接受主函数中的bb数组的起始地址,bb数组的每一个元素都是计数器,bb[0]中统计字母“a”的个数,bb[1]中统计字母“b"的个数,依此类推,bb[25]中统计字母“z”的个数。
转载请注明原文地址:https://www.kaotiyun.com/show/E8xp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下面程序的功能是:计算1~10之间的奇数之和及偶数之和,空白处应填______。 main() {int a,b,c,i; a=c=0; for(i=0;i<=10;i+=2) {a+=i;______;) printf("偶数之和=%d\n",a); p
定义结构体数组structStu{intnum;charname[20];}x[51={1,“ZHAO”,2,“QIAN”,3,“SUN”,4,“LEE”,5,“ZHOU”};for(i=1
以下程序的功能是将字符串s中所有小写字母’a’删去,请填空。#include<stdio.h>main(){chars[]="absuWWUDJFKFLaaakdK";inti,j;for(i=j=0;s[i]!=
以下关于函数的叙述中正确的是______。
结构化程序设计所规定的三种基本控制结构是()
已知a所指的数组中有N个元素。。函数fun的功能是,将下标k(k>0)开始的后续元素全部向前移动一个位置填空。voidfun(inta[N],intk){inti:for(i=k;i
若有定义floatb[15],*p=b;,且数组b的首地址为200H,则p+13所指向的数组元素的地址为______。
2个指针变量不可以______。
以下函数返回a所指数组中最小的值所在的下标值:fun(int*a,intn){inti,j=0,p;p=j;for(i=j;i<n;i++)if(a[i]<a[j])________return(p);}在下划线处应填入的是
已知字母A的ASCII码为65。以下程序运行后的输出结果是【】。main(){chara,b;a=’A’+’5’-’3’;b=a+’6’-’2’;printf("%d%c\n",a,B);}
随机试题
关于子宫平滑肌瘤MRI诊断,下列哪项错误
天花粉的主治病证有( )。
质量管理的PDCA循环中,“P”的职能是()。
作为单身母亲的余女士已离婚成为单身母亲,面对生涯规划,需要金融理财师协助规划。经过初步沟通面谈后,你获得了以下家庭、职业与财务信息:一、案例成员二、家庭收支状况1.收入方面(1)余菲菲女士,每年经营收入扣除铺租、水电、管理费、人工、税金等各项成本
复利的终值与现值成正比,与计息期数和利率成反比。()
根据《合伙企业法》的规定,有限合伙人的下列行为,不视为执行合伙事务的有()。
瓶画(器皿上的彩绘)《狄俄尼索斯航海》是古希腊()时期的作品。
[*]
关于QQ系统的描述中,正确的是()。
RenewableEnergy[A]Inthepastcentury,ithasbeenseenthattheconsumptionofnon-renewablesourcesofenergyhascaused
最新回复
(
0
)