2011年计算机二级C语言十套上机题1

发布时间:2019-02-04 19:01:20

2011年计算机二级C语言十套上机题1

1.填空题

请补充函数fun(),该函数的功能是:从‘a’到‘z’统计一个字符串中所有字母字符各自出现的次数,结果保存在数组alf中。注意:不区分大小写,不能使用字符串库函数。

例如,输入:“A=abc 5*c”,结果为:a=2,b=1,c=2。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。

试题程序:

#include

#include

#define N 100

void fun(char *tt,int alf[])

{

int i;

char *p=tt;

for(i=0;i<26;i )

【1】;

while(*p)

{

if(*p>=’A’&&*p<=’Z’)

【2】;

if(*p>=’a’&&*p<=’z’)

alf[*p-’a’] ;

【3】;

}

}

main()

{

char str[N];

char a=’a’;

int alf[26],k;

clrscr();

printf("nPlease enter a char string:");

scanf("%s",str);

printf("n**The original string**n");

puts(str);

fun(str,alf);

printf("n**The number of letter**n");

for(k=0;k<26;k )

{

if(k%5==0)

printf("n");

printf("%c=%d ",a k,alf[k]);

}

printf("n");

}

答案及评析:

【1】alf[i]=0 【2】*p =32 【3】p

【解析】填空1:数组alf[26]用来存放字母字符出现的次数,在使用之前需要清零。填空2:题目要求不区分大小写,所以可以先将所有的大写字母都转换为对应的小写字母,然后一并记录出现的次数。将大写字母转换为对应的小写字母,只需将ASCII码加上32就可以了。填空3:指针p指向字符串tt,通过p自加1来移动指针,访问字符串中的所有字符。

阅读更多其他试题,请访问生活日记网 用日志记录点滴生活!考试试题频道。
喜欢考试试题,那就经常来哦

该内容由生活日记网提供.