首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写一个函数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
2016-10-29
76
问题
请编写一个函数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/6VDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下面程序的输出是______。main(){intx=3,y=6,a=0;while(x++!=(y-=1)){a+=1if
以下对枚举类型名的定义中正确的是______。
下列程序执行后输出的结果是______。intd=l;fun(intp){intd=5;d+=p++;printf("%d,",d);}
在关系数据库中,把数据表示成二维表,每一个二维表称为【】。
已定义以下函数:fun(int*p){return*p;}该函数的返回值是______。
有以下程序:main(){inta[3][3],*p,i;p=&a[0][0];for(i=0;i<9;i++)p[i]=i;for(i=0;i<3;i++)printf("%d",a[1][
有以下程序:main(){intx=0,y=5,z=31while(z-->0&&++x<5)y=y-1;printf("%d,%d,%d\n",x,y,z);
以下选项中可以作为C语言中合法整数的是______。
下述函数统计字符串中的单词个数,单词是指处在空格之间的字符序列,请填空。intword(char*s){intnum=0,flag=0;while(*s){if(【】="
有如下程序:main(){intk=4,n=0;for(;n<k;){n++;if(n%3!=0)continue;k--;}printf("
随机试题
A.胸大肌B.三角肌C.前锯肌D.背阔肌E.竖脊肌使肩胛骨下角旋外的肌是
下列关于商业性保险公司业务的说法中,正确的是()
乳腺癌的超声特点不包括
A.低血容量性休克B.中毒性休克C.心源性休克D.过敏性休克E.神经源性休克急性心肌梗死引起的休克属于
特许经营项目融资招标,正式特许经营协议由()签订。
债券基金指的是基金资产()以上投资于债券的基金。
孔子是我国教育学萌芽阶段的著名教育思想家,他的教育思想主要体现在《论语》一书中,极大地影响着后世教育的发展。其教育思想有()
2006到2011年,城镇职工基本医疗保险平均实际报销比例同比增长最快的是:
在窗体上没有进行任何属性设置,然后编写如下事件过程,则程序运行结果是()。PrivateSubForm_Load()Fori=1To10sum=sum+iNex
Anewstudyofthebrainishelpingscientistsbetterunderstandhowhumansprocesslanguage.Oneofthepatientsisawomanwit
最新回复
(
0
)