首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写一个函数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
2021-07-09
37
问题
请编写一个函数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
注意:部分源程序在文件PROGl.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
#include
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]);
prLntf("\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++; }
解析
进入fun函数,根据前面的分析:
首先,因为数组pp的每一个元素都用作计数器,因此,需要使数组pp的每一个元素都置初值0,通过“for(i=0;i<26;i++)pp
=0;”来实现。
然后,用指针依次指向字符串的每一个字符直到字符串结束标志。
最后,在循环中根据*p的值不同,将累加器中的对应元素加1。
转载请注明原文地址:https://kaotiyun.com/show/watp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列程序中,函数fun的功能是:按顺序给s所指数组中的元素赋予从2开始的偶数,然后再按顺序对每5个元素求一个平均值,并将这些值依次存放在w所指的数组中。若s所指数组中元素的个数不是5的倍数,则多余部分忽略不计。例如,s所指数组有14个元素,则只对
下列关于栈叙述正确的是( )。
请编写一个函数fun,它的功能是:找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。
有以下程序:#include<stdio.h>intfun(int(*s)[4],intn,intk){intm,i;m=s[0][k];for(i=1;i<n;i++)if(s
有以下程序:#include<stdio.h>unsignedfun(unsignednum){unsignedk=1:do{k*=num%10;num/=
已知“inta=6;”则执行“a+=a-=a*a;”语句后,a的值为()。
设有如下函数定义:#include<stdio.h>intfun(intk){if(k<1)returm0;elseif(k==1)retum1:elsereturnfun(k-1)+1:}若执行调用语句“n=fun(3);”,则函
以下有关宏的描述不正确的是()。
若有定义语句:inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;,以下选项中错误引用a数组元素的是(其中0≤i<10)
随机试题
培养箱的操作方法与维护
下列选项中,属于消化性溃疡复发危险因素的有
某胃溃疡患者,近月来腹痛节律性消失,消瘦,大便隐血试验持续阳性,应考虑为()。
下列关于英国法的表述,错误的是:
根据《建设工程勘察设计管理条例》的规定,编辑初步设计文件应当()。
近代“岭南派”的代表画家有()。
关于不服地方各级人民法院第一审的判决、裁定而提出上诉的,须由被害人提出。()
为了更好地适应新时期公安队伍建设的需要,健全公安队伍的内务制度,公安部根据《人民警察法》的规定,于()颁布实施《公安机关人民警察内务条令》。为公安队伍的内务建设提供了法律依据和保障。
中国古代在“室”内举办宴会,座位以西为尊,北次之,南再次之,东最次,按“上北下南,左西右东”的方向,下列宴会座位安排符合礼法的是()。
使用Outlook邮件客户端软件创建邮件帐户时,发送邮件服务器类型通常是()。
最新回复
(
0
)