使用VC++2010打开考生文件夹下progl中的解决方案。此解决方案的项目中包含一个源程序文件progl.c。在此程序中,请编写一个函数fun(),它的功能是将ss所指字符串中所有下标为奇数的字母转换为大写字母(若该位置上不是字母,则不转换)。 例如

admin2023-02-27  43

问题 使用VC++2010打开考生文件夹下progl中的解决方案。此解决方案的项目中包含一个源程序文件progl.c。在此程序中,请编写一个函数fun(),它的功能是将ss所指字符串中所有下标为奇数的字母转换为大写字母(若该位置上不是字母,则不转换)。
  例如,若输入"abc4Efg",则应输出"aBc4EFg"。
  注意:部分源程序在文件progl.c中。
  请勿改动主函数main()和其他函数中的任何内容,仅在函数fun()的花括号中填入你编写的若干语句。
  试题程序:
1 #include<conio.h>
2 #include<stdio.h>
3 #include<string.h>
4 #include<stdlib.h>
5 void fun(char*ss)
6 {
7
8 }
9 void main()
10{
11  FILE*wf;
12  char tt[81],s[81]="abc4Efq";
13  system("CLS");
14  printf("\nPlease enter an string within 80 characLers:\n");
15  gets(tt);
16  printf("\n\nAfter changing,the string\n%s",tt);
17  fun(tt);
18  printf("\nbecomes\n%s\n",tt);
19  /*********found*********/
20  wf=fopen("out.dat","w");
21   fun(s);
22  fprintf(wf,"%s",s);
23  fclose(wf);
24  /*********found*********/
25 }

选项

答案 1 void fun(char*ss) 2 { 3 int i; 4 for(i=0;ss[i]!=’\0’;i++)/*将ss所指字符串中所有下标为奇数的字母转换为大写字母*/ 5 if(i%2==1&&ss[i]>='a'&&ss[i]<=’z') 6 ss[i]=ss[i]-32; 7 }

解析 本题要求将给定字符串ss中下标为奇数的字母转换为大写字母。需要先判断下标为奇数的字母是否是小写字母,如果是再通过其转换方法进行转换。
    从c语言的学习中知道,只要将小写字母减去
32即转换成大写字母,将大写字母加上32即换转成小写字母。本程序用if语句实现转换功能。
转载请注明原文地址:https://kaotiyun.com/show/BP0D777K
0

最新回复(0)