首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。调用fun函数输出字符串,当奇数次调用时要求把字符串中的小写字母转换成大写字母,偶数次调用时按输入字符串的逆序输出字符串。 请改正函数fun中指
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。调用fun函数输出字符串,当奇数次调用时要求把字符串中的小写字母转换成大写字母,偶数次调用时按输入字符串的逆序输出字符串。 请改正函数fun中指
admin
2018-10-20
37
问题
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。调用fun函数输出字符串,当奇数次调用时要求把字符串中的小写字母转换成大写字母,偶数次调用时按输入字符串的逆序输出字符串。
请改正函数fun中指定部位的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行。也不得更改程序的结构。
#include<stdio.h>
#include<string.h>
#include<ctype.h>
#pragma warning(disable:4996)
void fun(char*s)
{inti;
/*********found*********/
Statc intn=1;
if(n++%2)
/*********found*********/
for(i=0;i<=strlen(s);i++)
printf("%c",islower(s
)toupper(s
):s
);
else
/*********found*********/
for(i=strlen(s)﹣1;i>0;i﹣﹣)
printf("%c",s
);
}
main()
{int}i;
char s[]="Hello,C Programmer";
for(i=0;i<5;i++){fun
(s);printf("\n");}
}
选项
答案
(1)将Static改为static (2)将for循环中的i<=strlen(s)改为i<strlen(s) (3)将for循环中的i>0改为i>=0
解析
(1)函数使用static修饰变量n,用来保存调用次数以便判断是奇数次还是偶数次,关键字应为static,第一个字母为小写,所以将Static改为static。
(2)用strlen()计算字符串长度,但因为字符串保存在一个数组中,而数组元素是从0位置开始的,例如一个字符数组s[]有5个字符,利用数组调用它们应为a[0]、a[1]、a[2]、a[3]、a[4],for循环中当i=strlen(s﹣1)时即为最后一个字符,所以将for循环中的i<=strlen(s)改为i<strlen(s)。
(3)利用for循环从该字符数组最后一个字符开始依次向前输出字符,实现该字符串的逆序输出,字符数组的第一个元素应为s[0],因此最后输出的字符为s[0],所以将for循环中的i>0改为i>=0。
转载请注明原文地址:https://kaotiyun.com/show/GMxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若有定义inta=10,b=9,c=8;,接着顺序执行下列语句,变量b中的值是【】。c=(a-=(b-5));c=(a%11)+(b=3);
以下程序的输出结果是【】。#include<stdio.h>main(){inta=2,b=3,c=4;a*=16+(b++)-(++c);Printf("%d",a);}
现有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向—个链表中连续的三个结点。 street node { char data; struct node *next; } *p,*q
若有如下程序:voida(char*p,charc){while(*p){if(*p==c)*p=c-’b’+’B’;;p++;}}main(){chars[50]="abcdeeffg
有以下程序#includeintfun(chars[]){intn=0;while(*s=′0′){n=10*n+*s-′0′;s++;}return(n);}main(){chars[10]={
运行以下程序后,如果从键盘上输入6514<回车>,则输出结果为______。main(){intm,n;printf("Enterm,n:");scanf("%d%d",&m,&n);while(m!
下面程序的输出结果是______。main(){staticchara[]="language",b[]="program";char*ptrl=a,*ptr2=b;intkfor(k=0;k<7;k++)if(*(ptrl+k)==
源程序的文档化不包括()。
完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的测试方法是
随机试题
男,42岁。因急性胰腺炎住院治疗,患者入院后,不顾病情继续坚持写论文。该行为属于()
UNCTAD分类法的具体做法是将所有国冢分为()
TV摄像机的作用与功能是
关于X线照片颗粒度的叙述,错误的是
A.鱼腥草B.紫花地丁C.穿心莲D.淡竹叶E.肉苁蓉叶基生,披针形;蒴果椭圆形或3裂,种子多数的药材是()
违反《会计法》的行为,不一定是违反会计职业道德要求的行为。()
中央银行作为“银行的银行”,主要体现在()。
下列加下划线的字的读音每对都相同的一项是()。
下列______语句可以将变量A,B的值互换。
Inbringingupchildren,everyparentwatcheseagerlythechild’sacquisitionofeachnewskill—thefirstspokenwords,thefirs
最新回复
(
0
)