首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写一个函数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
2015-08-23
106
问题
请编写一个函数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
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#inolude
#include
void fun(char*tt,int pp[])
{
}
main()
{ char aa[1 0 0 0];
int bb[26],k;
void NONO();
print:f("\nPlease enter a charstring:");scanf(”%s”,aa);
fun(aa,bb);
for(k=0;k<2 6;k++)printf ("%d",bb[k]);
printf("\n");
NONO();
}
void NONO()
{/*本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/
char aa[1 000];
int bb[26],k,i;
FILE*rf,*wf;
rf=fopen("in.dat","r");
wf=fopen("out.dat","w");
for(i=0;i<1 0;i++) {
fscanf(rf,"%s",aa);
fun(aa,bb);
for(k=0;k<2 6;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/WHDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列4个关于C语言的结论中错误的是()。
C语言结构体类型变量在程序执行期间()。
若变量已正确定义,要求通过scanf("%c%d%c%d,&c1,&a,&c2,&b)语句给变量a和b分别赋32和45,给变量c1和c2分别赋字符A和B;下列选项中数据从第1列开始输入,正确的输入形式是()。
有以下程序:voidsum(int*a){a[0]=a[1];}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;for(i=2;i>=0;i--)sum(&aa[
有以下程序:#include<stdio.h>main(){char*p,*q;p=(char*)malloc(sizeof(char)*20);q=p;scanf("%s%s",p,q);p
有以下程序段charch;intk;ch=’a’;k=12;printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);已知字符a的ASCII码值为97,则执行
有三个关系R、S和T如下:由关系R和S通过运算得到关系T,则所使用的运算为
为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为
若变量已正确定义并赋值,以下符合C语言语法的表达式是
用筛选法可得到2~n(n
随机试题
贯彻企业的质量方针,每个职工要(),在工作中不断进行改善,努力提高产品和工作服务质量。
常用放射性药物与普通药物的相互作用下列哪项正确
关于左心室肥大,以下说法错误的是
某煤矿采煤工作面因自然发火而封闭,并对该工作面采用了均压通风和黄泥灌浆等措施进行处理。1年后,经过连续2个月取样化验分析,火区内氧气浓度为4%~5%,一氧化碳浓度在0.001%以下,没有检测到乙烯和乙炔,火区的出水温度为22~24℃,则该火区(
不属于业主风险管理措施的选项有()。
我国西北干旱半干旱区油气资源丰富。“西气东输”的主要原因是()。
从所给的四个选项中,选择最合适的一个填入问号处,使之呈现一定的规律性。
君士坦丁
简述认知一评价理论,并说说该理论的发展意义。【华南师范大学2014;上海师范大学2014;曲阜师范大学2011】
在考生文件夹下有一个工程文件sjt5.vbp。程序运行时,单击“装入数据”按钮,则从考生文件夹下的in5.txt文件中读入所有城市名称和距离,城市名称按顺序添加到列表框List1中,距离放到数组a中;当选中列表框中的一个城市时,它的距离就在Text1中显示
最新回复
(
0
)