奥鹏易百

 找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

帮助中心知识拓展客服QQ 515224986
查看: 425|回复: 0

天大2017年12月考试《C语言程序设计》离线作业考核试题

[复制链接]

1万

主题

4

回帖

2万

积分

论坛元老

积分
29078
发表于 2017-12-3 20:24:10 | 显示全部楼层 |阅读模式
扫码加微信
C语言程序设计
要求:天津大学答案请咨询微信或QQ515224986

一、独立完成,下面三组题目中,请任选其中一组题目作答,满分100分;
二、答题步骤:
1.使用A4纸打印学院指定答题纸(答题纸请详见附件);
2.在答题纸上使用黑色水笔按题目要求手写作答;答题纸上全部信息要求手写,包括中心、学号、姓名、科目、答题组数等基本信息和答题内容,请写明题型、题号;
三、提交方式:请将作答完成后的整页答题纸以图片形式依次粘贴在一个Word
文档中上传(只粘贴部分内容的图片不给分),图片请保持正向、清晰;
1.上传文件命名为“中心学号姓名科目.doc”
2.文件容量大小:不得超过20MB。
提示:未按要求作答题目的作业及雷同作业,成绩以0分记!
题目如下:
第一组:
一、编程题(每题20分,共40分)
1、编写程序。输入一行字符(以回车符结束),分别统计其中字母、数字和其他符号的个数。
2、编写程序。要求编写子函数prime(m)判断m是否为素数,当m为素数时返回1,否则返回0,再调用该子函数求100以内的全部素数(素数就是只能被1和自身整除的正整数,1不是素数,2是素数)。
二、程序填空。在程序中的序号处填上正确的内容。(每空4分,共48分)
1、按照公式e=1++++…+求e的近似值,至n=10为止。
#include&ltstdio.n&gt
voidmain()
{float_____①_____;
intn=1i
for(_____②_____)
{n=_____③_____
e=_____④_____
}
printf(“e=%f\n”e)
}
2、将文件file1.dat中的内容复制到file2.dat中。
#include&ltstdio.h&gt
#defineNull0
voidmain()
{FILE_____①_____
charch
if((p1=fopen(“file1.dat””r”)==Null)||(p2=fopen(“file2.dat””w”)==Null))
{printf(“Can’topenfile\n”)_____②_____}
while(_____③_____)
{ch=_____④_____fputc(chp2)}
fclose(p1)
fclose(p2)
}
3、求二维数组a[5][4]中所有元素的平均值。
#include&ltstdio.h&gt
_____①_____
voidmain()
{inta[5][4]ijpa
for(i=0i&lt5i++)
for(j=0j&lt4j++)
scanf(“%d”&ampa[i][j])
pa=_____②_____
printf(“average=%d\n”pa)
}
intaverage(ints[][4])
{intijaver=0
for(i=0i&lt5i++)
for(j=0j&lt4j++)aver=aver+s[i][j]
aver=_____③_____
_____④_____
}
三、写出程序的执行结果(每题4分,共12分)
1、
#include&ltstdio.h&gt
voidmain()
{intijk=4
for(inti=1i&lt=ki++)
printf(&quot%c&quot’*’)printf(&quot\n&quot)
for(inti=1i&lt=k2i++)
{printf(&quot%c&quot’*’)
for(j=1j&lt=k2j++)
printf(&quot&quot)
printf(&quot*\n&quot)
}
for(i=1i&lt=ki++)
printf(&quot%c&quot’*’)printf(&quot\n&quot)
}
2、
#include&ltstdio.h&gt
voidfun(ints[])
voidmain()
{inta[]={123456}k
fun(a)
for(k=0k&lt=5k++)printf(“%d”a[k])
printf(“\n”)
}
voidfun(ints[])
{inti=0
while(i&lt3){s[i]=s[i]+5i++}
}
3、
#include&ltstdio.h&gt
voidmain()
{intja[]={123410121315}
for(j=3j&gt0j)
switch(j)
{case1
case2printf(“%d”a[j+4])break
case3printf(“%d”a[j1])
}
printf(“\n”)
}
第二组:
一、编程题(每题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[i]&gt0)(*zs)++
if(aa[i]&lt0)
(*fs)++
if(aa[i]==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[i]!=’\0’)
{s2[i]=s1[i]+3i++}
s2[i]=\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、编写程序。计算(求n项,n由键盘输入并要求最后一项小于106结束。
2、编写程序。自定义函数求N名学生1门课程成绩的平均分,调用该函数求10名
学生1门课程成绩的平均分。
二、程序填空。在程序中的序号处填上正确的内容。(每空4分,共48分)
1、判断一个整数的各位数字是否都相同,相同则显示“yes“,否则显示”no”。
#include&ltstdio.h&gt
voidmain()
{intar1r2
scanf(“%d”_____①_____)
do{r1=a%10
_____②_____
r2=a%10
}while(a!=0&amp&amp_____③_____)
if(a!=0)printf(”no\n”)
else_____④_____
}
2、输出如下图形。
12345
11234
11123
11112
11111
#include&ltstdio.h&gt
voidfun(_____①_____)
{intij
for(i=1i&lt=ni++)
{for(j=1_____②_____j++)
printf(“%3d”1)
for(j=2j&lt=_____③_____j++)
printf(“%3d”j)
printf(“\n”)
}
}
voidmain()
{
_____④_____
}
3、输入一个3行5列的整数矩阵,输出其中最大值和它们的下标。
#include&ltstdio.h&gt
voidmain()
{inta[3][5],i,j,t,n=3,m=5,max,maxrow,maxcol;
printf(“Enter%d*%dnumbers!\n”,n,m);
for(i=0;i&ltn;i++)
for(j=0;j&ltm;j++)
{scanf(“%d”,&ampt);
_____①_____}
max=a[0][0];_____②_____;
for(i=0;i&ltn;i++)
for(j=0;j&ltm;j++)
if(_____③_____)
{_____④_____;maxrow=i;maxcol=j;}
printf(“MAX=a[%d][%d]=%d\n”,maxrow,maxcol,max,);
}
三、写出程序的执行结果(每题4分,共12分)
1、
#include&ltstdio.h&gt
voidmain()
{inta[][3]={9,7,5,3,l,2,4,6,8};
inti,j,sl=0,s2=0;
for(i=0;i&lt3;i++)
for(j=0;j&lt3;j++)
{if(i==j)
s1=s1+a[i][j];
if(i+j==2)
s2=s2+a[i][j];
}
printf(“%d%4d\n”,sl,s2);
}
2、
#include&ltstdio.h&gt
voidmain()
{chara[]={‘*’,‘*’,‘*’,‘*’,‘*’};
inti,j,k;
for(i=0;i&lt4;i++)
{printf(“\n”);
for(j=0;j&lti;j++)
printf(“%c”,‘’);
for(k=0;k&lt4;k++)
printf(“%c”,a[k]);
}
printf(“\n”);
}
3、
#include&ltstdio.h&gt
voidmain()
{ints[5]
for(i=0i&lt5i++)
s[i]=i*2
for(i=4i&gt=0i)
printf(“%5d”s[i])
printf(“\n”)
}

本内容由www.openhelp100.com整理发布

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

本版积分规则

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

GMT+8, 2024-11-25 02:46

Powered by openhelp100 X3.5

Copyright © 2001-2024 5u.studio.

快速回复 返回顶部 返回列表