得分 评卷人
四、程序设计题,将源代码规范地书写在答题纸上(第34小题10分,第35小题各14分,共24分)。
34.设计函数实现将一个字符串中小写字母转化为大写字母。
35.计算e?1?
111???的值并输出(设n=20)。 1!2!n!C语言程序设计试卷 试卷A
参考答案与评分标准
一、单项选择题:(每小题1分,共20分)
1 B 11 C 2 B 12 B 3 D 13 A 4 D 14 D 5 A 15 C 6 B 16 D 7 C 17 B 8 A 18 C 9 A 四川师范大学计算机科学学院 2012~2013学年度第二学期期末考试
10 C 20 B 19 A
二、填空题:(每空4分,共36分)
21: x >= 0 23: int i=0 22: x < amin 24: (a[i] == b[i]) && a[i] != '\\0' 25: ‘\\0’ 26: *sptr++ 27: j < i 28: a[i][j] = a[j][i] 29: a[j][i] = temp
计算机科学学院 C语言程序设计 试卷A 第6页(共8页)
三、阅读程序题:(每小题5分,共20分)
30: 7 9 31: I am a qjh. 32:100,400,100,200 33:Gcd=12
四、程序设计题:(第34小题10分,第35小题各14分,共24分) 34.设计函数实现将一个字符串中小写字母转化为大写字母。(10分)
#include
/* 转换函数4分,其中:循环正确1分,判断、转换正确各1分,其余1分 */ void Convert(char * str) { while (*str != '\\0') { if(islower(*str )) *str = toupper(*str); str++; } }
/* 主函数4分,其中:变量定义初始化正确1分,函数调用正确2分,输出正确1分*/ void main( ) { char str[] = \ Convert(str); printf(\}
其它答案可根据情况酌情给分。
35计算e?1?111(14分) ???的值并输出(设n=20)。
1!21!n!#include
/* 递归函数5分 */
long factorial(int n) (1分) { if (n == 1) return n; (2分) else return n * factorial(n-1); (2分) }
/* 主函数8分,其中:变量定义正确2分,循环正确得2分,函数调用格式正确2分,输出正确2分*/
计算机科学学院 C语言程序设计 试卷A 第7页(共8页)
void main( ) { double e = 1.0; for (int i=1; i<=20; i++) { e += 1/(double)factorial(i); } printf(\}
其它答案可根据情况酌情给分。
计算机科学学院 C语言程序设计 试卷A 第8页(共8页)