首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写一个函数void tim(char*tt,int pp[]),统计在tt所指字符串中“’a’”到“’z’”26个小写字母各自出现的次数,并依次放在pp所指数组中。 例如,当输入字符串:abcdcfgabcdeabc后,程序的输出结果应该是: 3 3
请编写一个函数void tim(char*tt,int pp[]),统计在tt所指字符串中“’a’”到“’z’”26个小写字母各自出现的次数,并依次放在pp所指数组中。 例如,当输入字符串:abcdcfgabcdeabc后,程序的输出结果应该是: 3 3
admin
2019-09-02
55
问题
请编写一个函数void tim(char*tt,int pp[]),统计在tt所指字符串中“’a’”到“’z’”26个小写字母各自出现的次数,并依次放在pp所指数组中。
例如,当输入字符串:abcdcfgabcdeabc后,程序的输出结果应该是:
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
注意:部分源程序在文件PROG1.C中。
请勿改动主函数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 charstring:");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);
}
选项
答案
char *p=tt; int i; for(i=0;i<26;i++) pp[i]=0; while(*p){ if(*p>=’a’&&*p<=’z’)pp[*p-’a’]+=1; p++;}
解析
该程序功能是统计字符串中26个字母各自出现的次数。解题思路,从已给部分源程序的main主函数开始入手,函数形参指针tt接受主函数中字符数组aa的起始地址,形参pp接受主函数中的bb数组的起始地址,bb数组的每一个元素都是计数器,bb[0]中统计字母“a”的个数,bb[1]中统计字母“b”的个数,依此类推,bb[25]中统计字母“z”的个数。
转载请注明原文地址:https://kaotiyun.com/show/NORp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
给定程序MODI1.C中函数fun的功能是:将十进制正整数m转换成k(2≤k≤9)进制数,并按高位到低位顺序输出。例如,若输入8和2,则应输出1000(即十进制数8转换成二进制表示是1000)。请改正fun函数中的错误,使它能得出正确的
给定程序MODI1.C中函数fun的功能是:统计字符串中各元音字母(即:A、E、I、O、U)的个数。注意:字母不分大、小写。例如:若输入:THIsisaboot,则输出应该是:1、0、2、2、0。请改正程序中的错误,使它能得出正确
针对简单程序设计,以下叙述的实施步骤顺序正确的是
以下选项中,能用作用户标识符的是
按照C语言规定的用户标识符命名规则,不能出现在标识符中的是
有以下程序main(){inta=1,b=2,c=3,x;x=(a^b)&c;’printf("%d\n",x);}程序的运行结果是
s1和s2已正确定义并分别指向两个字符串。若要求:当s1所指串大于s2所指串时,执行语句S;则以下选项中正确的是
有三个关系R、S和T如下: 则由关系R和S得到关系T的操作是
在学生管理的关系数据库中,存取一个学生信息的数据单位是
若k是int类型变量,且有以下for语句1for(k=-1;k<0;k++)printf("*\n");下面关于语句执行情况的叙述中正确的是
随机试题
A.肾素B.血管紧张素C.醛固酮D.血管升压素E.心房钠尿肽血浆晶体渗透压升高时,可引起()分泌增多,导致尿液浓缩和尿量减少
患儿,男,4岁。诉发音不清求治,口腔检查:舌不能自由前伸,伸舌时舌尖部呈“M”形,智力发育正常。进行正确治疗的最佳时间是
在以下对承压水特征的描述中,哪些选项是正确的?()
按施工分块仓面强度计算法对混凝土生产系统规模进行核算时,与下列()因素有关。
下列各项费用中,属于资金成本中的使用费用的有()。
东方股份有限公司(本题下称东方公司)系境内上市公司。2012年至2013年,东方公司发生的有关交易或事项如下:(1)2012年10月1日,东方公司与境外A公司签订一项合同,为A公司安装某大型成套设备。合同约定:①该成套设备的安装任务包括场地勘察、设计、
3月份,某投机者认为丙公司股价在未来3个月内可能下跌。此时,丙公司股价为每股30美元;而3个月期限的看跌期权行权价为23美元,目前售价为每份2美元。如果该投机者3月份投入30000美元购买看跌期权,6月份丙公司股价下跌至21美元,那么其损益是()。
根据会计法律制度的规定,单位负责人的直系亲属不得在本单位担任的会计工作岗位是()。
下列选项中,属于社会文明内涵的是()
将当前表单从内存中释放的正确语句是
最新回复
(
0
)