《C语言期中考试_答案.doc》由会员分享,可在线阅读,更多相关《C语言期中考试_答案.doc(10页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、南京信息工程大学期中考试试卷2007 2008 学年 第 1 学期 C语言程序设计 课程试卷( A 卷) 学院 专业 2007年级 班 学号 姓名 得分 请大家先自由练习,下午我们再一起讲试卷。一、 阅读程序,回答问题: (每题5分,共55分)1输入13,下面程序执行的结果是 1 13 is a prime number#include#includevoid main()int m,i,k;scanf(“%d”,&m);k=sqrt(m);for(i=2;ik) printf(“%d is a prime numbern”,m);else printf(“%d is not a prime
2、numbern”,m);2输入2007回车后,下面程序执行的结果是 2 2007 is not a leap year .#includevoid main()int year , leap ; scanf(“%d”, &year) ; if ((year%4=0) | (year%100=0 & year%400=0)) leap=1 ; else leap=0 ; if (leap) printf(“%d is a leap year .n”, year); else printf(“%d is not a leap year .n”, year);3下面程序的功能是 矩阵转置#inclu
3、de void main() int a33=1,2,3,4,5,6,7,8,9; int b33,i,j; for(i=0;i=2;i+) for(j=0;j=2;j+) bji=aij; for(i=0;i=2;i+) for(j=0;j=2;j+) printf(%5d,bij); printf(n); 4从键盘上输入1、2、3、54、32、0、-10、6、9、8,下面程序执行的结果是 4 54#include #define SIZE 10void main() int xSIZE,i,max; printf(Enter 10 integers:n); for(i=0;iSIZE;i+
4、)scanf(%d,&xi); max= x0; for(i=1;iSIZE;i+) if(maxxi) max=xi; printf(Max=%dn,max);5从键盘输入5时,下面程序的输出结果是_5 _ 87#include main()int ch; scanf(%c,&ch);switch(ch-2) case 0:case 1:putchar(ch+4);case 2:putchar(ch+4);break;case 3:putchar(ch+3);default:putchar(ch+2);printf(“n”);6下面程序的运行结果是: 6 a=2,b=1#includevoi
5、d main() int x=1,y=0,a=0,b=0; switch(x) case 1: switch(y) case 0: a+; break; case 1: b+; break; case 2: a+;b+; break; case 3: a+;b+; printf(“na=%d,b=%d”,a,b); 7下面程序执行的结果是 7 2,11,9,7,3#includevoid main() int a5=3,7,9,11,2;int t,i,j,m,n; n=5; m=(n-1)/2; for(i=0;i=m;i+) j=n-1-i; t= ai; ai=aj; aj=t; for
6、(i=0;i5;i+) printf(%d,ai); printf(n);8下面程序执行的结果是 8 31-1 #includevoid main ( ) int i=5 ; do switch (i%2) case 4 : i- ; break ; case 6 : i- ; continue ; i- ; i- ; printf(“%d”,i); while (i0) ;9.写出下面程序运行的结果 9 。1 ,-2 #includevoid main ( ) int y=2,a=1; while (y-!=-1) do a*=y ; a+ ; while (y-) ; printf(“%d
7、,%dn”,a,y);10. 当运行以下程序时,从键盘输入:AhaMA Aha(表示回车),则下面程序的运行结果是_ 10 _。ahAMa#include stdio.hmain()char s80,c=a; int i=0; scanf(%s,s); while(si!=0) if(si=c) si=si-32; else if(si=c-32) si=si+32; i+; puts(s); /输出s数组中所有元素。11. 下面程序的运行结果是_11_。1 3 4 5#include stdio.hmain() int i=1,n=3,j,k=3; int a5=1,4,5; while(i
8、ai) i+; for(j=n-1;j=i;j-) aj+1=aj; ai=k; for(i=0;i=n;i+) printf(%3d,ai);二、编程题: (第1-3每题10分,第4题 15分,共45分)1输入一段字符,并统计数字19、以及空格出现的次数。#include main() char c; int letter0,space0,digit0,other0; printf(input a line letter:n); while(cgetchar()!n)/*读取当前字符,如不为回车符则进行统计*/ if(ca &cA&c0&c9999) place5;else if(num99
9、9) place4;else if(num99) place3;else if(num9) place2;else place1;printf(place%dn,place);/*输出位数*/printf(shuzi is:);ten_thousandnum/10000;/*以下五行分别求万位、千位、百位、十位、个位数字 */thousand(int)(numten_thousand*10000)/1000;hundred(int)(numten_thousand*10000thousand*1000)/100;ten(int)(numten_thousand*10000thousand*10
10、00hundred*100)/10;indiv(int)(numten_thousand*10000thousand*1000hundred*100ten*10);switch(place) /*根据位数判断应该输出哪几位数字*/ case 5:printf(%d,%d,%d,%d,%d,ten_thousand,thousand,hundred,ten,indiv);/*正序输出*/ printf(ninvert is:); printf(%d%d%d%d%dn,indiv,ten,hundred,thousand,ten_thousand);/*逆序输出*/ break; case 4:p
11、rintf(%d,%d,%d,%d,thousand,hundred,ten,indiv); printf(ninvert is:); printf(%d%d%d%dn,indiv,ten,hundred,thousand); break; case 3:printf(%d,%d,%d,hundred,ten,indiv); printf(ninvert is:); printf(%d%d%dn,indiv,ten,hundred); break; case 2:printf(%d,%d,ten,indiv); printf(ninvert is:); printf(%d%dn,indiv,t
12、en); break; case 1:printf(%d,indiv); printf(ninvert is:); printf(%dn,indiv); break; 运行结果:input 099999:98765place5shuzi is:9,8,7,6,5invert is: 567893输入10个整数,并用冒泡法对其进行从小到大排序,并输出排序后结果。#include void main() int a10; int i,j,t; printf(input 10 numbers :n); for (i=0;i10;i+) scanf(%d,&ai); printf(n);for(j=0
13、;j9;j+) for(i=0;iai+1) t=ai;ai=ai+1; ai+1=t; printf(the sorted numbers :n); for(i=0;i10;i+) printf(%d ,ai); printf(n);/*程序结束*/4读入下表中值到数组,分别求各行数之和。12364561578924C语言程序设计答题纸 学院 专业 2007年级 班 学号 姓名 得分 一、 阅读程序,回答问题: (每题5分,共55分)1、 13 is a prime number 2、2007 is not a leap year . 3、 矩阵转置 4、 54 5、 87 6、 a=2,b=1 7、 2,11,9,7,3 8、 31-1 9、 1 ,-2 10、 ahAMa 11、 1 3 4 5 二、编程题: (第1-3每题10分,第4题 15分,共45分) 1、2、3、4、