C语言期中考试_答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include <stdio.h>
void main()
{
int a[10];
int i,j,t;
printf(″input 10 numbers :\n″);
for (i=0;i<10;i++)
scanf("%d",&a[i]);
printf("\n");
for(j=0;j<9;j++)
for(i=0;i<9-j;i++)
if (a[i]>a[i+1])
{
t=a[i];a[i]=a[i+1];
a[i+1]=t;
}
printf(″the sorted numbers :\n″);
for(i=0;i<10;i++)
printf(″%d″,a[i]);
printf(″\n″);
}/*程序结束*/
4.读入下表中值到数组,分别求各行数之和。
南京信息工程大学期中考试试卷
2007-2008学年 第1学期C语言程序设计课程试卷(A卷)
学院专业2007年级班
学号姓名得分
请大家先自由练习,下午我们再一起讲试卷。
一、阅读程序,回答问题:(每题5分,共55分)
1.输入13,下面程序执行的结果是[1]13is a prime number
#include<stdio.h>
{ int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};
int b[3][3],i,j;
for(i=0;i<=2;i++)
{ for(j=0;j<=2;j++)
b[j][i]=a[i][j];
}
for(i=0;i<=2;i++)
{ for(j=0;j<=2;j++)
printf("%5d",b[i][j]);
}
11.下面程序的运行结果是____[11]______。1 3 4 5
#include "stdio.h"
main()
{
int i=1,n=3,j,k=3;
int a[5]={1,4,5};
while(i<=n&&k>a[i]) i++;
for(j=n-1;j>=i;j--)
a[j+1]=a[j];
letter=38,space=6,digit=3,other=6
2.给出不多于5位的正整数,要求:
(1)求出它是几位数;
(2)分别输出每一位数字;
(3)按逆序输出各位数字,如5832,应输出2385。
main()
{
long int num;
int indiv,ten,hundred,thousand,ten_thousand,place;
9、1 ,-210、ahAMa
11、1 3 4 5
二、编程题:(第1-3每题10分,第4题 15分,共45分)
1、
2、
3、
4、
printf("shuzi is:");
ten_thousand=num/10000;/*以下五行分别求万位、千位、百位、十位、个位数字*/
thousand=(int)(num-ten_thousand*10000)/1000;
hundred=(int)(num-ten_thousand*10000-thousand*1000)/100;
#include <stdio.h>
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);
#include "stdio.h"
main()
{chaHale Waihona Puke Baidu s[80],c='a';
int i=0;
scanf("%s",s);
while(s[i]!='\0')
{
if(s[i]==c) s[i]=s[i]-32;
else if(s[i]==c-32) s[i]=s[i]+32;
i++;
}
puts(s);//输出s数组中所有元素。
digit++;
else
other++;
}
printf(" letter=%d,space=%d,digit=%d,other=%d\n",letter,space,digit,other);
}
运行情况:
input a line letter:
My teacher's address is"#123 Beijing Road,Shanghai".
for(i=0;i<SIZE;i++)
scanf("%d",&x[i]);
max= x[0];
for(i=1;i<SIZE;i++)
if(max<x[i]) max=x[i];
printf("Max=%d\n",max);
}
5.从键盘输入5时,下面程序的输出结果是________[5]_________87
printf("\ninvert is:");
printf("%d%d%d\n",indiv,ten,hundred);
break;
case 2:printf("%d,%d",ten,indiv);
printf("\ninvert is:");
printf("%d%d\n",indiv,ten);
break;
}
printf(“\n”);
}
6.下面程序的运行结果是:[6]a=2,b=1
#include<stdio.h>
void main()
{ int x=1,y=0,a=0,b=0;
switch(x)
{ case 1:
switch(y)
{
case 0: a++; break;
case 1: b++; break;
/*逆序输出*/
break;
case 4:printf("%d,%d,%d,%d",thousand,hundred,ten,indiv);
printf("\ninvert is:");
printf("%d%d%d%d\n",indiv,ten,hundred,thousand);
break;
case 3:printf("%d,%d,%d",hundred,ten,indiv);
a[i]=k;
for(i=0;i<=n;i++)
printf("%3d",a[i]);
}
二、编程题:(第1-3每题10分,第4题 15分,共45分)
1.输入一段字符,并统计数字1~9、以及空格出现的次数。
#include <stdio.h>
main()
{
char c;
int letter=0,space=0,digit=0,other=0;
case 1:printf("%d",indiv);
printf("\ninvert is:");
printf("%d\n",indiv);
break;
}
}
运行结果:
input 0-99999:98765↙
place=5
shuzi is:9,8,7,6,5
invert is: 56789
3.输入10个整数,并用冒泡法对其进行从小到大排序,并输出排序后结果。
{case 5:printf("%d,%d,%d,%d,%d",ten_thousand,thousand,hundred,ten,indiv);/*正序输出*/
printf("\ninvert is:");
printf("%d%d%d%d%d\n",indiv,ten,hundred,thousand,ten_thousand);
ten=(int)(num-ten_thousand*10000-thousand*1000-hundred*100)/10;
indiv=(int)(num-ten_thousand*10000-thousand*1000-hundred*100-ten*10);
switch(place)/*根据位数判断应该输出哪几位数字*/
n=5;
m=(n-1)/2;
for(i=0;i<=m;i++)
{ j=n-1-i;
t= a[i]; a[i]=a[j]; a[j]=t;
}
for(i=0;i<5;i++)
printf("%d,",a[i]);
printf("\n");
}
8.下面程序执行的结果是[8]31-1
#include<stdio.h>
#include<math.h>
void main()
{
intm,i,k;
scanf(“%d”,&m);
k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i= =0) break;
if (i>k) printf(“%d is a prime number\n”,m);
else printf(“%d is not a prime number\n”,m);
printf("input a line letter:\n");
while((c=getchar())!=’\n’)/*读取当前字符,如不为回车符则进行统计*/
{
if(c>=’a’ &&c<=’z’||c>=’A’&&c<=’Z’)
letter++;
else if(c==’ ’)
space++;
else if(c>=’0’&&c<=’9’)
voidmain ( )
{ int i=5 ;
do {
switch (i%2) {
case 4 : i--; break ;
case 6 : i--; continue ;
}
i-- ;i--;
printf(“%d”,i);
}while (i>0) ;
}
9.写出下面程序运行的结果[9]。1 ,-2
#include<stdio.h>
printf("\n");
}
}
4.从键盘上输入1、2、3、54、32、0、-10、6、9、8,下面程序执行的结果是[4]54
#include <stdio.h>
#define SIZE10
voidmain()
{ int x[SIZE],i,max;
printf("Enter10integers:\n");
}
2.输入2007回车后,下面程序执行的结果是[2]2007is nota leap year .
#include<stdio.h>
void main()
{
int year , leap ;
scanf(“%d”, &year) ;
if((year%4==0) ||(year%100==0&&year%400==0))
}
case 2: a++;b++; break;
case 3: a++;b++;
}
printf(“\na=%d,b=%d”,a,b);
}
7.下面程序执行的结果是[7]2,11,9,7,3
#include<stdio.h>
void main()
{ int a[5]={3,7,9,11,2};
int t,i,j,m,n;
voidmain ( )
{ int y=2,a=1;
while (y--!=-1)
do {
a*=y ;
a++ ;
} while (y--) ;
printf(“%d,%d\n”,a,y);
}
10.当运行以下程序时,从键盘输入:AhaMA Aha<CR>(<CR>表示回车),则下面程序的运行结果是___[10]_____。ahAMa
1
2
3
6
4
5
6
15
7
8
9
24
C语言程序设计答题纸
学院专业2007年级班
学号姓名得分
一、阅读程序,回答问题:(每题5分,共55分)
1、13is a prime number2、2007is nota leap year .
3、矩阵转置4、54
5、876、a=2,b=1
7、2,11,9,7,38、31-1
leap=1 ;
else
leap=0 ;
if (leap)
printf(“%d isa leap year .\n”, year);
else
printf(“%d is nota leap year .\n”, year);
}
3.下面程序的功能是矩阵转置
#include <stdio.h>
voidmain()
printf("input 0-99999:");
scanf("%ld",&num);
if(num>9999)
place=5;
else if(num>999)
place=4;
else if(num>99)
place=3;
else if(num>9)
place=2;
else place=1;
printf("place=%d\n",place);/*输出位数*/
相关文档
最新文档