天津大学仁爱学院c语言期末考试题,天津大学20191月考试《C语言程序设计》考核课后题库100分..."/>
天津大学仁爱学院c语言期末考试题,天津大学20191月考试《C语言程序设计》考核课后题库100分...
天津大学期末考核209年春季学期1月考试《C语言程序设计》考核课后参考答案
天津大学作业+++QQ:2816067863|wx:openliuls|奥鹏作业答案|奥鹏离线考试|奥鹏论文辅导
题目如下:
第一组:
一、编程题(每题20分,共40分)
1、编写程序。定义数组sco存放30名学生的成绩。将成绩由高到低排序,并输出排序结
果和所有高于平均分数的成绩(结果保留两位小数)。
2、编写程序。先编写一个子函数求x ,再通过主函数调用该子函数,对输入的一个数y,
求y并输出。
二、程序填空。在程序中的序号处填上正确的内容。(每空4分,共48分)
1、程序用于求两个数的和与差。
#include
int fun(int a,int b, int
*psub)
{ int
sum;
sum=a+b;
__________=a-b;
return sum;
}
void main( )
{ int
x,y,s1,s2;
scanf(“%d%d”, __________);
s1=fun(x,y, __________);
printf(“sum=%d\n
sub=%d\n”, __________);
}
2、对于5×5的方阵,输出其下三角的元素。
1 2 3 4 5
1
2 3 4 5 6
2
3
3 4 5 6 7 3
4
5
4 5 6 7 8
4
5
6
7
5 6 7 8 9
5
6
7
8
9
#include
void
main()
{ int__________,i,j;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
a[i][j]=
__________;
for(i=0;i<5;i++)
{
for(j=0; __________;j++)
printf("M",
a[i][j]);
__________; }
}
3、输出所有的水仙花数。所谓的水仙花数是指一个3位数,其各位数字立方和等于该数本身。例如153是一水仙花数,因为153=13+53+33
#include
void main()
{
int n, i, j,
k;
for(n=100; n<=
__________; n++)
{
i = n/100;
//
取出n的百位数
j = ___
_______;
//
取出n的十位数
k = __
________;
// 取出n的个位数
if(n==__________)
printf("%d\n",n);
}
}
三、写出程序的执行结果(每题4分,共12分)
1、
#include
void main( )
{ int i,
j;
for (i=1; i<5; i++)
{ for(
j=1; j<=12-i; j++)
printf(“
“);
for (j=1; j<=i; j++)
printf(“M”,i);
printf(“\n”);
}
}
2、
#include
int
a=5;
void
fun(int b)
{
int a=10;
a+=b;
printf("%d
",a);
}
void
main()
{
int c=20;
fun(c);a+=c;
printf("%d\n",a);
}
3、
#include
void sub (int x,int y,int
*z)
{ *z=x-y;
}
void
main()
{ int
a,b,c;
sub(10,6,&c);
sub(8,c,&b);
sub(c,b,&a);
printf(“%d %d
%d\n”,a,b,c);
}
第二组:
一、编程题(每题20分,共40分)
1、编写程序。输入一行字符(以回车符结束),分别统计其中字母、数字和其他符号的个数。
2、编写程序。要求编写子函数prime(m)判断m是否为素数,当m为素数时返回1,否则返回0,再调用该子函数求100以内的全部素数(素数就是只能被1和自身整除的正整数,1不是素数,2是素数)。
二、程序填空。在程序中的序号处填上正确的内容。(每空4分,共48分)
1、按照公式
e=1+
+
++…+求e的近似值,至n=10为止。
#include <
stdio.n>
void main ( )
{ float__________;
int
n=1, i;
for(__________)
{
n=__________;
e=__________;
}
printf
(“ e= %f\n” ,e);
}
2、将文件file1.dat中的内容复制到file2.dat中。
#include
#define Null
0
void main()
{
FILE__________;
char
ch;
if((p1=fopen(“file1.dat”,”r”)= =Null)||(p2=fopen(“file2.dat”,”w”)= =Null
))
{
printf(“Can’t open
file\n”);
__________;
}
while(__________)
{
ch=__________; fputc(ch,p2);
}
fclose(p1);
fclose(p2);
}
3、求二维数组a[5][4]中所有元素的平均值。
#include
____
__
____
void main ( )
{ int a[5][4],i ,j,
pa;
for
(i=0;i<5;i++)
for
(j=0;j<4;j++)
scanf(“%d”,
&a[i][j]);
pa=__________;
printf
(“average=%d\n”,pa);
}
int average (int s[ ][4]
)
{ int
i,j,aver=0;
for
(i=0;i<5;i++)
for
(j=0;j<4;j++) aver=aver+s[i][j];
aver=__________;
__________;
}
三、写出程序的执行结果(每题4分,共12分)
1、
#include
void main()
{ int i,
j, k=4;
for
(int i=1;i<=k;i++)
printf("%c",’*’);
printf("\n");
for (int
i=1;i<=k-2;i++)
{
printf("%c",’*’);
for
(j=1;j<= k-2;j++)
printf("
");
printf("*\n");
}
for
(i=1;i<=k;i++)
printf("%c",’*’);
printf("\n");
}
2、
#include
void fun(int s[ ]);
void main()
{ int a[
]={1,2,3,4,5,6},k;
fun(a);
for(k=0;k<=5;k++) printf(“%d ”,a[k]);
printf(“\n”);
}
void fun(int s[ ])
{ int
i=0;
while(i<3) {
s[i]=s[i]+5; i++;
}
}
3、
#include
void
main()
{
int j, a[ ]={1,2,3,4,10,12,13,15};
for(
j=3; j>0; j--)
switch ( j )
{ case
1:
case
2: printf(“%d,”, a[j+4]); break;
case 3: printf(“%d,”,
a[j-1]);
}
printf(“\n”);
}
第三组:
一、编程题(每题20分,共40分)
1、编写程序。每当输入10个评委的分数后,求该选手的最后得分并输出(设10个评委按照以下打分原则为选手打分:去掉一个最高分和一个最低分,剩下的求平均分作为选手的最后得分)。
2、编写程序。先定义一个求n!的子函数fact,调用该子函数计算并输出
的值(m、n的值由键盘输入)。
二、程序填空。在程序中的序号处填上正确的内容。(每空4分,共48分)
1、打印出杨辉三角形(只打印出10行,形式如下)。
1
1 1
1 2 1
1
3 3
1
1
4
6 4 1
1
5
10105 1
……
#include
void main()
{inti,j;
inta[10][10];
for(i=0;i<10;i++)a[i][0]=1,__________;
for(__________;i<10;i++)
for(j=1;j
a[i][j]=__________;
for(i=0;i<10;i++)
{ for(j=0;j<=i;j++)
printf("]",a[i][j]);
__________;
}
}
2、将输入的一个字符串(以!结束)中的小写字母转换成大写字母,然后输出到磁盘文件“test”中。
#include
void main()
{__________;
char str[100],filename[10];
int i=0;
if((fp=__________==NULL)
{ printf("cannot open the file\n");exit(0); }
printf("please input a string:\n");
gets(str);
while(__________)
{ if(str[i]>="a"&&str[i]<="z")
str[i]=str[i]-32;
fputc(str[i],fp);
__________;
}
fclose(fp);
}
3、输出如下图形。
*
*
*
*
*
*
*
*
*
*
*
*
*
#include
void main()
{ int i=1,j;
while(i<=3)
{
j=1;
printf("*");
while(j<=3)
{ printf(" ");
__________;
}
printf("*\n");
__________;
}
__________;
i=1;
while(i<=3)
{ j=1;
printf("*");
while(__________)
{
printf(" ");
j++; }
printf("*\n");
i++;
}
}
三、写出程序的执行结果(每题4分,共12分)
1、
#include
void sub(int x,int
y,int
*z)
{ *z = x+y;}
void main()
{ int a=5,b=6,c=7;
printf(“%d,%d,%d
”,a,b,c);
sub(b,c,&a);
sub(a,b,&c)
printf(“%d,%d,%d\n”,a,b,c);
}
2、
#include
void main ()
{ int
x=1,a=0,b=0;
switch(x)
{
case 1:a++
;
case 2:a++; b++;
break;
default: b++;break;
}
printf(“a=%d,b=%d”,a,b);
}
3、
#include
void
fun(int x);
void
main()
{
fun(7);
printf("\n");
}
void fun(int
x)
{
if(x/2>1)
fun(x/2);
printf("]",x);
}
更多推荐
天津大学仁爱学院c语言期末考试题,天津大学20191月考试《C语言程序设计》考核课后题库100分...
发布评论