天大2019年4月考试《C语言程序设计》离线作业考核试题答案
天大2019年4月考试《C语言程序设计》离线作业考核试题(答案)C语言程序设计
奥鹏作业答案
要求:
一、独立完成,下面已将三组题目列出,请按照学院平台指定的做题组数作答,
每人只答一组题目,多答无效,满分100分;
平台查看做题组数操作:学生登录学院平台→系统登录→学生登录→课程考试→离线考核→离线考核课程查看→做题组数,显示的数字为此次离线考核所应做哪一组题的标识;
例如:“做题组数”标为1,代表学生应作答“第一组”试题;
二、答题步骤:
1.使用A4纸打印学院指定答题纸(答题纸请详见附件);
2.在答题纸上使用黑色水笔按题目要求手写作答;答题纸上全部信息要求手写,包括学号、姓名等基本信息和答题内容,请写明题型、题号;
三、提交方式:请将作答完成后的整页答题纸以图片形式依次粘贴在一个Word
文档中上传(只粘贴部分内容的图片不给分),图片请保持正向、清晰;
1.上传文件命名为“中心学号姓名科目.doc”
2.文件容量大小:不得超过20MB。
提示:未按要求作答题目的作业及雷同作业,成绩以0分记!
题目如下:
第一组:
一、编程题(每题20分,共40分)
1、编写程序。定义数组存放任意输入的10个实数,求出其中的最大值以及第一个最
大值的下标并输出。
2、编写程序。要求编写一个求最大供公约数的子函数,调用该子函数对输入的a、b求它们的最大公约数并输出。
二、程序填空。在程序中的序号处填上正确的内容。(每空4分,共48分)
1、程序用于输出如下图形。
#include<stdio.h>
voidmain()
{intij
for(i=1i<10i++)
printf(“%4d”_____①_____)
for(i=1i<10i++)
{for(j=1_____②_____j++)
printf(“%4d”,_____③_____)
_____④_____}
}
2、输入50个实数,统计其中正数、负数和零的个数。
#include<stdio.h> 奥鹏作业答案
voidfun(int*zsint*fsint*l_____①_____)
{inti
for(i=0i<50i++)
{if(aa>0)(*zs)++
if(aa<0)
(*fs)++
if(aa==0)
(*l)++}
}
voidmain()
{floatnum
inticzscfscl
czs=cfs=cl=0
printf("\nPleaseenter50floatnumbers\n")
for(i=0i<50i++)
scanf(“%f”_____②_____)
fun(_____③__________④_____)
printf("\n正数%d负数%d零%d\n"czscfscl)
}
3、输入正整数m和n,求出区间的所有素数。
#include<stdio.h>
_____①_____
voidmain()
{intmnijk
scanf("%d%d"&m&n)
for(i=mi<ni++)
{k=sqrt(i)
for(j=2_____②_____j++)
if(_____③_____)break
if(_____④_____)
printf("%d"i)
}
printf("\n")
}
三、写出程序的执行结果(每题4分,共12分)
1、
#include<stdio.h>
voidmain()
{chars1[]="abcde"s2
inti=0
while(s1!=’\0’)
{s2=s1+3i++}
s2=\0
printf("%s"s2)
}
2、
#include<stdio.h>
voidmain()
{charch1=Ach2=B
switch(ch1)
{caseAswitch(ch2)
{caseBprintf("Good!")break
caseAprintf("Better!")break
}
caseBprintf("Best!\n")break
}
}
3、
#include<stdio.h>
intage(intn)
{intc
if(n==1)
c=10
else
c=age(n1)+2
return(c)
}
voidmain()
{printf("%d"age(5))
}
第二组:
一、编程题(每题20分,共40分)
1、编写程序。从键盘任意输入10个数,将这10个数按照由小到大的次序排序,输出
排序后的结果。(排序方法任意)
2、编写程序。利用子函数fun求a数组中n个元素的平均值,再通过main()调用fun函数输出s数组中10个元素的平均值。
二、程序填空。在程序中的序号处填上正确的内容。(每空4分,共48分)
1、程序用于输出以下图形。
#include<stdio.h>
voidmain()
{intij
for(i=1i<10i++)
{_____①_____
while(++j<=_____②_____)
printf(“%4d”_____③_____)
_____④_____
}
}
2、程序用于求方阵的主对角线元素的乘积,
#include<stdio.h>
voidmain()
{intaijss
for(i=0i<5i++)
for(j=0j<5j++)
_____①___
ss=_____②_____
for(i=0i<5i++)
ss=_____③_____
printf(“%d\n”_____④_____)
}
3、输入一个三位正整数,分离出它的个位、十位和百位数并输出。
#include<stdio.h>
voidmain()
{intxhundredstensunits
scanf("%d"_____①_____)
hundreds=_____②_____
tens=_____③_____
units=_____④_____
printf("units=%dtens=%dhundreds=%d\n"unitstenshundreds)
}
三、写出程序的执行结果(每题4分,共12分)
1、
#include<stdio.h>
voidmain()
{intij
for(i=1i<=5i++)
{for(j=1j<=9ij++)
printf("")
for(j=1j<=ij++)
printf("%c"’A’+i1)
printf("\n")
}
}
2、
#include<stdio.h>
intx=100
voidf1()
{inta=100
a+=100x+=100
printf(“%4d%4d”ax)
}
voidf2()
{staticintb=100
b+=100x+=100
printf(“%4d%4d”bx)
}
voidmain()
{f1()f1()f2()f2()}
3、
#include<stdio.h>
voidmain()
{intm=1n=2*p=&m*q=&n*r
r=pp=qq=r
printf("%d%d%d%d"mn*p*q)
}
第三组:
一、编程题(每题20分,共40分)
1、编写程序。定义N个大小的整型数组,任意输入10个整数,找出其中的最大值和
最小值并输出。
2、编写程序。自定义函数求y!,调用该函数求s=m!+n!+k!并输出(m、n、k的值从
键盘输入)。
二、程序填空。在程序中的序号处填上正确的内容。(每空4分,共48分)
1、求数列0112358132134……的前40个数。其中第一、二两个数为0、1,以后每个数是前两个数之和。
#include<stdio.h>
voidmain()
{int_____①_____i
printf(“%d%d”_____②_____)
for(_____③_____i<=21i++)
{f1=f1+f2
f2=_____④_____
printf(“%d%d”f1f2)
if((i+1)%2==0)printf(“\n”)
}
}
2、在D盘建一个名为”file1.dat”的文件,从键盘输入若干字符(以回车作为结束)存入该文件,。
#include<stdio.h>
#defineNull0
voidmain()
{_____①_____
charc
if((fp=fopen(“d\file.dat”_____②_____))==Null)
{printf(“Can’topenfile!\n”)exit(0)}
do{
c=getcher()
_____③_____
}while(c!=’\n’)
_____④_____
}
3、输出如下所示的菱形。
*
***
*****
***
*
#include<stdlib.h>
voidmain()
{intijk
for(i=1i<=3i++)
{for(j=1j<=3ij++)
printf("")
for(k=1k<=_____①_____k++)
printf("*")
printf("\n")
}
for(i=1_____②_____i++)
{for(j=1_____③_____j++)
printf("")
for(k=1k<=62*i1k++)
_____④_____
printf("\n")
}
}
三、写出程序的执行结果(每题4分,共12分)
1、
#include<iostream.h>
voidmain()
{intijNa={{12345}{2345}{345}{45}{5}}
N=5
for(i=0i<Ni++)
for(j=0j<Nij++)
printf("%d%s"a"")
printf("\n")
}?
2、
#include<stdio.h>
intfun(intx)
{intp
if(x==0||x==1)p=1
elsep=x*fun(x2)
returnp
}
voidmain()
{printf("%d\n"fun(6))
}
3、
#include<stdio.h>
voidmain()
{inta=1b=0
switch(a)
{case1switch(b)
{case0printf(“**0**”)break
case1printf(“**1**”)break
}
case2printf(“**2**”)break
}
}
奥鹏答案
页:
[1]