快捷导航
帮助中心知识拓展客服QQ 515224986
扫码加微信
天大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&ltstdio.h&gt
voidmain()
{intij
for(i=1i&lt10i++)
printf(“%4d”_____①_____)
for(i=1i&lt10i++)
{for(j=1_____②_____j++)
printf(“%4d”,_____③_____)
_____④_____}
}
2、输入50个实数,统计其中正数、负数和零的个数。
#include&ltstdio.h&gt    奥鹏作业答案

voidfun(int*zsint*fsint*l_____①_____)
{inti
for(i=0i&lt50i++)
{if(aa&gt0)(*zs)++
if(aa&lt0)
(*fs)++
if(aa==0)
(*l)++}
}
voidmain()
{floatnum[50]
inticzscfscl
czs=cfs=cl=0
printf(&quot\nPleaseenter50floatnumbers\n&quot)
for(i=0i&lt50i++)
scanf(“%f”_____②_____)
fun(_____③__________④_____)
printf(&quot\n正数%d负数%d零%d\n&quotczscfscl)
}
3、输入正整数m和n,求出[mn]区间的所有素数。
#include&ltstdio.h&gt
_____①_____
voidmain()
{intmnijk
scanf(&quot%d%d&quot&ampm&ampn)
for(i=mi&ltni++)
{k=sqrt(i)
for(j=2_____②_____j++)
if(_____③_____)break
if(_____④_____)
printf(&quot%d&quoti)
}
printf(&quot\n&quot)
}
三、写出程序的执行结果(每题4分,共12分)
1、
#include&ltstdio.h&gt
voidmain()
{chars1[]=&quotabcde&quots2[10]
inti=0
while(s1!=’\0’)
{s2=s1+3i++}
s2=\0
printf(&quot%s&quots2)
}
2、
#include&ltstdio.h&gt
voidmain()
{charch1=Ach2=B
switch(ch1)
{caseAswitch(ch2)
{caseBprintf(&quotGood!&quot)break
caseAprintf(&quotBetter!&quot)break
}
caseBprintf(&quotBest!\n&quot)break
}
}
3、
#include&ltstdio.h&gt
intage(intn)
{intc
if(n==1)
c=10
else
c=age(n1)+2
return(c)
}
voidmain()
{printf(&quot%d&quotage(5))
}
第二组:
一、编程题(每题20分,共40分)
1、编写程序。从键盘任意输入10个数,将这10个数按照由小到大的次序排序,输出
排序后的结果。(排序方法任意)
2、编写程序。利用子函数fun求a数组中n个元素的平均值,再通过main()调用fun函数输出s数组中10个元素的平均值。
二、程序填空。在程序中的序号处填上正确的内容。(每空4分,共48分)
1、程序用于输出以下图形。
#include&ltstdio.h&gt
voidmain()
{intij
for(i=1i&lt10i++)
{_____①_____
while(++j&lt=_____②_____)
printf(“%4d”_____③_____)
_____④_____
}
}
2、程序用于求方阵的主对角线元素的乘积,
#include&ltstdio.h&gt
voidmain()
{inta[5][5]ijss
for(i=0i&lt5i++)
for(j=0j&lt5j++)
_____①___
ss=_____②_____
for(i=0i&lt5i++)
ss=_____③_____
printf(“%d\n”_____④_____)
}
3、输入一个三位正整数,分离出它的个位、十位和百位数并输出。
#include&ltstdio.h&gt
voidmain()
{intxhundredstensunits
scanf(&quot%d&quot_____①_____)
hundreds=_____②_____
tens=_____③_____
units=_____④_____
printf(&quotunits=%dtens=%dhundreds=%d\n&quotunitstenshundreds)
}
三、写出程序的执行结果(每题4分,共12分)
1、
#include&ltstdio.h&gt
voidmain()
{intij
for(i=1i&lt=5i++)
{for(j=1j&lt=9ij++)
printf(&quot&quot)
for(j=1j&lt=ij++)
printf(&quot%c&quot’A’+i1)
printf(&quot\n&quot)
}
}
2、
#include&ltstdio.h&gt
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&ltstdio.h&gt
voidmain()
{intm=1n=2*p=&ampm*q=&ampn*r
r=pp=qq=r
printf(&quot%d%d%d%d&quotmn*p*q)
}
第三组:
一、编程题(每题20分,共40分)
1、编写程序。定义N个大小的整型数组,任意输入10个整数,找出其中的最大值和
最小值并输出。
2、编写程序。自定义函数求y!,调用该函数求s=m!+n!+k!并输出(m、n、k的值从
键盘输入)。
二、程序填空。在程序中的序号处填上正确的内容。(每空4分,共48分)
1、求数列0112358132134……的前40个数。其中第一、二两个数为0、1,以后每个数是前两个数之和。
#include&ltstdio.h&gt
voidmain()
{int_____①_____i
printf(“%d%d”_____②_____)
for(_____③_____i&lt=21i++)
{f1=f1+f2
f2=_____④_____
printf(“%d%d”f1f2)
if((i+1)%2==0)printf(“\n”)
}
}
2、在D盘建一个名为”file1.dat”的文件,从键盘输入若干字符(以回车作为结束)存入该文件,。
#include&ltstdio.h&gt
#defineNull0
voidmain()
{_____①_____
charc
if((fp=fopen(“d\file.dat”_____②_____))==Null)
{printf(“Can’topenfile!\n”)exit(0)}
do{
c=getcher()
_____③_____
}while(c!=’\n’)
_____④_____
}
3、输出如下所示的菱形。
*
***
*****
***
*
#include&ltstdlib.h&gt
voidmain()
{intijk
for(i=1i&lt=3i++)
{for(j=1j&lt=3ij++)
printf(&quot&quot)
for(k=1k&lt=_____①_____k++)
printf(&quot*&quot)
printf(&quot\n&quot)
}
for(i=1_____②_____i++)
{for(j=1_____③_____j++)
printf(&quot&quot)
for(k=1k&lt=62*i1k++)
_____④_____
printf(&quot\n&quot)
}
}
三、写出程序的执行结果(每题4分,共12分)
1、
#include&ltiostream.h&gt
voidmain()
{intijNa[5][5]={{12345}{2345}{345}{45}{5}}
N=5
for(i=0i&ltNi++)
for(j=0j&ltNij++)
printf(&quot%d%s&quota[j]&quot&quot)
printf(&quot\n&quot)
}?
2、
#include&ltstdio.h&gt
intfun(intx)
{intp
if(x==0||x==1)p=1
elsep=x*fun(x2)
returnp
}
voidmain()
{printf(&quot%d\n&quotfun(6))
}
3、
#include&ltstdio.h&gt
voidmain()
{inta=1b=0
switch(a)
{case1switch(b)
{case0printf(“**0**”)break
case1printf(“**1**”)break
}
case2printf(“**2**”)break
}
}

奥鹏答案

共 0 个关于本帖的回复 最后回复于 2019-4-7 21:57

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精彩推荐

    明星用户

    QQ|Archiver|手机版|小黑屋|www.openhelp100.com ( 冀ICP备19026749号-1 )

    GMT+8, 2024-4-27 10:16