首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写一个函数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
78
问题
请编写一个函数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://kaotiyun.com/show/E8xp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下面程序段的输出结果是【】。intx=5;do{printf("%d",x-=4);}while(!(--x));
以下程序的输出结果是______。#include<stdio.h>#defineSQR(x)x*xmain(){inta,k=3;a=++SQR(k+1);printf("%d\n",a
下面程序中有错误的行是(每行程序前面的数字表示行号)1main()2{3inta[3]={1};4inti;5scanf("%d",&a);6for(i-1;i
若以“a+”方式打开一个已存在的文件,则下列叙述正确的是()。
有以下程序#include.<string.h>main(){char*p="abcde\ofghjik\0";printf("%d\n",strlen(p));}程序运行后的输出结果是
有如下程序: main() {char ch[2][5]={"6937","8254"},*p[2]; int i,j,s=0; for(i=0;i<2;i++)p[i]=ch[i]; for(i=0;i<2;i++) for(j=0;p[i][j]!=’
有以下程序段: typedef struct NODE {int num; struct NODE *next; }OLD; 以下叙述中正确的是 ______。
在面向对象的方法中,______描述的是具有相似属性与操作的一组对象。
在C语言中,可以把整数以二进制形式存放到文件中的函数是()
以下程序运行时,若从键盘输入:102030<回车>,输出的结果是【】。#include<stdio.h>main(){inti=0,j=0,k=0;scanf("%d%*d%d",&i,&j,&k);
随机试题
某企业2009—2011年销售额的环比增长速度分别为10%、15%、18%,则2011年与2008年相比,定基增长速度的算式是()
下列哪些是癃闭的变证
根据《工地试验室标准化建设要点》(厅质监字[2012]200号)的规定,超出母体检测机构授权范围的试验检测项目和参数应进行外委,外委试验应向()报备。
根据《房屋建筑与装饰工程工程量计算规范》,关于屋面防水工程量的计算,正确的是()。
当投资者对未来的现金流量有着特殊的需求时,可采用积极的投资策略。()
以下关于战略变革模式不正确的说法是()。
()是由企业董事会、监事会、经理层和全体员工实施的、旨在实现控制目标的过程。
礼节是礼貌的具体体现,礼节、礼貌的核心内容是得体的正装和谈吐。()
莉莉的午睡问题着实让老师头疼,每天中午她一会儿仰着睡,一会儿卧着睡,不一会儿又侧着睡。别的小朋友刚要睡着,她又起来上厕所,为此老师哄也哄过,骂也骂过,就是不管用。今天中午午休时间莉莉翻来覆去折腾了好一阵,终于安静下来,老师以为睡着了,就凑过去一看,两只眼睛
Thetreatyrequestthatallthemembercountries______withthepriceandsharetheprofitasagreedupon.
最新回复
(
0
)