全国计算机等级二级C语言上机改错题题型..doc
文本预览下载声明
第1题给定程序MODI1.C中函数?fun?的功能是:把在字符串s中出现的每个字符,紧随其后重复出现一次,形成一个新串放在t中,t中字符按原字符串中字符顺序排列。例如:当s中的字符串为:ABAABBCCDDEE。??????则t中的字符串应为:AABBCCDDEE。请改正函数fun中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!Modi1.c#include?conio.h#include?stdio.h#include?string.h?/************found************/void?fun?(char??s,char??t)?/参考答案:void?fun?(char?*s,char?*t)/{??int??i,?sl;???sl?=?strlen(s);???for?(i=0;?isl;?i++)???{??t[2*i]?=?s;??????t[2*i+1]?=?s;???}/************found************/???t[2*sl]?=?0;????????/参考答案:t[2*sl]?=?\0;/}main(){??char?s[100],?t[100];???clrscr();???printf(\nPlease?enter?string?s:);?scanf(%s,?s);???fun(s,?t);???printf(The?result?is:?%s\n,?t);}第2题给定程序MODI1.C中函数?fun?的功能是:把在字符串s中出现的每个字符,?紧随其后重复出现一次,放在一个新串t中,t中字符按原字符串中逆排列。例如:当s中的字符串为:ABCDE时,???????则t中的字符串应为:EEDDCCBBAA。请改正函数fun中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!?Modi1.c#include?conio.h#include?stdio.h#include?string.h?void?fun?(char??*s,?char??*t){???int??i,?sl;????sl?=?strlen(s);/************found************/????for?(i=1;?isl;?i++)??/参考答案:for?(i=0;?isl;?i++)/????{??t[2*i]?=?s[sl-i-1];???????t[2*i?+1]?=?s[sl-i-1];????}/************found************/????t[2*sl]?=?0/;???????/参考答案:t[2*sl]?=?\0;/}?main(){??char?s[100],?t[100];???clrscr();???printf(\nPlease?enter?string?s:);?scanf(%s,?s);???fun(s,?t);???printf(The?result?is:?%s\n,?t);}第3题给定程序MODI1.C中函数?fun?的功能是:将在字符串s中下标为偶数位置上的字符,紧随其后重复出现一次,放在一个新串t中,t中字符按原字符串中字符的顺序排列。(注意0为偶数)例如:当s中的字符串为:ABCDE时,??????则t中的字符串应为:AACCEE。请改正函数fun中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!?Modi1.c#include?conio.h#include?stdio.h#include?string.h?void?fun?(char??*s,?char??*t){???int??i,?j,?sl;????sl?=?strlen(s);/************found************/????for?(i=0,?j=0;?isl;?i+=1)?/参考答案:for?(i=0;?j=0;?isl;?i+=2)/????{??t[2*j]?=?s;???????t[2*j?+1]?=?s;???????j++;????}/************found************/????t[2*sl]?=?\0;???/参考答案:t[2*j]=\0;/}?main(){??char?s[100],?t[100];???clrscr();???printf(\nPlease?enter?s
显示全部