10-11(1)C语言选修上机考试复习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、单项选择题
略
二、改错题(典型题型)
1、在考生文件夹下,给定程序MODI.C的功能是:从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。例如,当s中的数为:7654321时,t中的数为:7531。请修改并运行该程序,然后将源程序文件MODI.C上传。
#include
main( )
{ long s, t, sl=10;
system(“CLS”);
printf("\nPlease enter s:"); scanf("%ld", &s);
/************found************/
t = s / 10;
while ( s > 0)
{ s = s/100;
t = s%10 * sl + t;
/************found************/
sl = sl*100;
}
printf("The result is: %ld\n", t);
}
2、在考生文件夹下,给定程序MODI.C的功能是:求一维数组a中的值为偶数的元素之和。例如,当一维数组a中的元素为:10,4,2,7,3,12,5,34,5,9 ,程序的输出应为:The result is: 62 请修改并运行该程序,然后将源程序文件MODI.C提交。
#include
#include
main()
{ int a[10]={10,4,2,7,3,12,5,34,5,9},i,s;
system(“CLS”);
s = 0;
for ( i=0; i<10; i++)
/************found************/
if (i % 2 == 0) s = s + a[i];
/************found************/
print("The result is: %d\n", s);
}
3、在考生文件夹下,给定程序MODI.C的功能是:求一维数组a中值为偶数的元素之和。例如,当一维数组a中的元素为:10,4,2,7,3,12,5,34,5,9 ,程序的输出应为:The result is: 62。请修改并运行该程序,然后将源程序文件MODI.C提交。
#include
sum ( int arr[ ],int n )
{ int i,s;
system(“CLS”);
s = 0;
for ( i=0; i if (arr[i] % 2 == 0) /************found************/ s = s + i; return (s); } main() { int a[10]={10,4,2,7,3,12,5,34,5,9},i,s; /************found************/ s = sum( a ,2 ); printf("The result is: %d\n", s); } 4、在考生文件夹下,给定程序MODI.C的功能是:求一维数组a中的最大元素及其下标。例如,当一维数组a中的元素为:1,4,2,7,3,12,5,34,5,9,程序的输出应为:The max is: 34,pos is: 7 。请修改并运行该程序,然后将源程序文件MODI.C提交。 #include #include main() { int a[10]={1,4,2,7,3,12,5,34,5,9},i,max,pos; system(“CLS”); max = a[0]; pos = 0; for ( i=1; i<10; i++) /************found************/ if (max > a[i]) { max = a[i]; /************found************/ i = pos; } printf("The max is: %d ,pos is: %d\n", max , pos); } 5、在考生文件夹下,给定程序MODI.C的功能是:先将在字符串s中的字符按逆序存放到t串中,然后把s中的字符按正序连接到t串的后面。例如:当s中的字符串为:"ABCDE"时,则t中的字符串应为:"EDCBAABCDE"。请修改并运行该程序,然后将源程序文件MODI.C提交。 #include #include main() { char s[80], t[80]; /************found************/ int i; system(“CLS”); printf("\nPlease enter string s:"); scanf("%s", s); sl = strlen(s); for (i=0; i /************found************/ t[i] = s[sl-i]; for (i=0; i t[sl+i] = s[i]; t[2*sl] =’\0’; printf("The result is: %s\n", t); } 三、程序填空题 1、在考生文件夹下,给定程序FILL.C的功能是:把数组a(大小为M)中前M-1个元素中的最大值放入a的最后一个元素中。 #include #define M 11 main() { int a[M],i; system(“CLS”); for(i=0;i scanf("%d",&a[i]); /************found************/ ___(1)___=a[0]; for(i=1;i /************found************/ if(___(2)___) a[M-1]=a[i]; printf("Max is %d\n",a[M-1]); }