设为首页 加入收藏

TOP

2011年计算机二级考试C语言十套上机题(3)
2014-11-23 17:35:30 】 浏览:8565
Tags:2011年 计算机 二级 考试 语言 上机

  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来移动指针,访问字符串中的所有字符。


  编辑特别推荐:


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇2011年计算机二级考试C语言十套上.. 下一篇2011年计算机二级考试C语言十套上..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目