首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写一个函数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
97
问题
请编写一个函数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全国计算机二级
相关试题推荐
已知head指向一个带头结点的单向链表,链表中每个结点包含数据域(data)和指针域(next),数据域为整型。以下函数求出链表中所有链结点数据域的和值,作为函数值返回。请在横线处填入正确内容。structlink{intdata;st
下面程序的输出结果是()。#include"stdio.h"intsub(intm){statica=4;a+=m;returna;}voidmain(){inti=2
下面程序的功能是:计算1~10之间的奇数之和及偶数之和,空白处应填______。 main() {int a,b,c,i; a=c=0; for(i=0;i<=10;i+=2) {a+=i;______;) printf("偶数之和=%d\n",a); p
以下程序的输出结果是_______。main(){inta[4][4]={{1,3,5},{2,4,6},{3,5,7});Print("%d%d%d%d\n",a[0][3],a[l][2],a[2][1],
有如下程序: 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]!=’
若运行以下程序时,从键盘输入ADescriptor<CR>(<CR>表示回车),则下面程序的运行结果是()。#include<stdio.h>main(){charc;intv0=1,v1=0,v2=0;do
面向对象方法中,继承是指()。
下列有关数据库的描述,正确的是
以下函数返回a所指数组中最小的值所在的下标值:fun(int*a,intn){inti,j=0,p;p=j;for(i=j;i<n;i++)if(a[i]<a[j])________return(p);}在下划线处应填入的是
在面向对象方法中,类之间共享属性和操作的机制称为【】。
随机试题
铣削六角棱柱,其侧棱之间和侧面之间的夹角是相等的,用分度头简单分度法进行分度。()
Thepopulationoftheworldisgrowingatadangerous______.
房颤发生的心外原因首先考虑
宏盛机械进出口公司(2102911013)从香港进口一批无接头电缆,该批商品属于法定检验检疫和自动进口许可管理商品。货物于2005年10月11日在香港装船,于2006年3月5日在天津港入境。宏盛机械进出口公司委托天津某报关公司于次日向海关申报进口。
下列关于持有期货公司股权的表述,正确的有()。
下列选项中不属于信贷人员分析客户的技术水平的是()
根据企业所得税法律制度的规定,纳税人取得的下列收入,应计入应纳税所得额的有()。
家长应根据儿童的年龄特点选择玩具,一岁前儿童玩具主要是()。
伴随着现今的天文科普之热,是否也应带给其他专业的科普工作者一些启示?比如,要让大众真正了解一个学科,除了灌输知识为主的讲座、海报,能否试试另一种“人文路线”,讲讲学科中体现出的自然之美、人类探索精神之美?当然更重要的,是培养一支愿意全情投入的科普工作者队伍
2006年至2011年全年我国农村居民人均纯收入分别为3587元、4140元、4761元、5153元、5919元、6977元;城镇居民人均可支配收入分别为11759元、13786元、15781元、17175元、19109元、21810元。20
最新回复
(
0
)