《C语言程序设计》第一组:1、编写程序。从输入的若干个...
天大2016年12月《C语言程序设计》期末大作业考核要求更多作业答案请联系QQ515224986
C语言程序设计
要求:
1.独立完成,作答时要按照模版信息填写完整,写明题型、题号;
2.作答方式:手写作答或电脑录入,请使用学院统一模版(模版详见附件);
3.提交方式:以下两种方式任选其一,
1)手写作答的同学可以将作业以图片形式打包压缩上传;
2)提交电子文档的同学可以将作业以word文档格式上传;
4.上传文件命名为“中心学号姓名科目.rar”或“中心学号姓名科目.doc”;
5.文件容量大小:不得超过10MB。
请在以下几组题目中,任选一组题目作答,满分100分。
第一组:
一、编程题(每题20分,共40分)
1、编写程序。从输入的若干个大于零的整数中选出最小值(输入1时结束输入)。
2、编写程序。写一个子函数fac求n!,然后再编写main()调用fac函数分别输出1~5的阶乘。
二、程序填空。在程序中的序号处填上正确的内容。(每空4分,共48分)
1、程序用于输出以下图形。
#include"stdio.h"
voidmain()
{inti,j
for(i=1i<=____①____i++)
{for(j=1j<=9i____②____)
printf("")
for(j=1j<=ij++)
printf("%c",____③____)
________④________
}
}
2、程序由键盘输入10个整型数写入名为fdada.txt的文件
#include"stdio.h"
#include"process.h"
voidmain()
{_____①_____*fp
inti,a
if((fp=fopen("_____②_____","w"))==NULL)
{printf("文件不能打开!\n")exit(1)}
else{printf("请输入10个整数\n")
for(i=1i<=10i++)
{scanf("%d",&a)fprintf(____③____,"%d",a)}
________④________
}
}
3、输入45数组中所有元素,求所有元素的平均值并输出。
#include<stdio.h>
voidmain()
{inta,i,j,sum
for(i=0i<4i++)
for(j=0j<5j++)
scanf(“%d”,_____①_____)
_____②_____
for(i=0i<4i++)
for(j=0j<5j++)
sum=____③____
printf(“average=%f\n”,____④____)
}
三、写出程序的执行结果(每题4分,共12分)
1、
#include<stdio.h>
intx=10
voidf1()
{inta=10
staticintb=10
a+=10b+=10x+=10
printf(“%d%d%d”,a,b,x)
}
voidmain()
{f1()f1()}
2、
#include<stdio.h>
voidmain()
{inta[]={2,3,5,4},i
for(i=0i<4i++)
switch(i%2)
{case0switch(a%2)
{case0a++break
case1a
}break
case1a=0
}
for(i=0i<4i++)printf("%2d",a)
printf("\n")
}
3、
#include<stdio.h>
voidmain()
{intbeta=10
int*pointer,*q
pointer=&beta
*pointer=20
beta=*pointer+30
q=&beta
printf("\n*q=%d",*q)
}
第二组:
一、编程题(每题20分,共40分)
1、编写程序。定义N个大小的整型数组,任意输入10个整数,找出其中的最大值和
最小值并输出。
2、编写程序。自定义函数求y!,调用该函数求s=m!+n!+k!并输出(m、n、k的值从
键盘输入)。
二、程序填空。在程序中的序号处填上正确的内容。(每空4分,共48分)
1、求数列0,1,1,2,3,5,8,13,21,34,……的前40个数。其中第一、二两个数为0、1,以后每个数是前两个数之和。
#include<stdio.h>
voidmain()
{int_____①_____,i
printf(“%d%d”,_____②_____)
for(_____③_____i<=21i++)
{f1=f1+f2
f2=_____④_____
printf(“%d%d”,f1,f2)
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()
{inti,j,k
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()
{inti,j,N,a={{1,2,3,4,5},{2,3,4,5},{3,4,5},{4,5},{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=1,b=0
switch(a)
{case1switch(b)
{case0printf(“**0**”)break
case1printf(“**1**”)break
}
case2printf(“**2**”)break
}
}
第三组:
一、编程题(每题20分,共40分)
1、编写程序。任意输入10个数,输出这10个数中正数的平均值并将这10个数按相
反的次序并输出。
2、编写程序。自定义函数重复输出给定的一个字符n次,调用该函数输出给定的字符和输出的次数。
二、程序填空。在程序中的序号处填上正确的内容。(每空4分,共48分)
1、程序用于输出以下图形。
#include<stdio.h>
voidmain()
{inti,j
for(i=1i<10i++)
{for(j=1j<=12ij++)
_____①_____
for(j=1_____②_____j++)
printf(“%4d”,_____③_____)
_____④_____
}
}
2、将1到100各数的平方根按照每行5个数存到磁盘的file.dat文件中。
#include<stdio.h>
#include<math.h>
#defineNull0
voidmain()
{FILE*p1
inti=1
if((p1=_____①_____)==Null)
{printf(“Can’topenfile\n”)exit(0)}
while(i<=100)
{fprintf(p1,”%f5.3”,sqrt((double)(i)))
if(_____②_____)fprintf(p1,”\n”)
_____③_____
}
_____④_____
}
3、用公式计算π的值,直到最后一项的绝对值<10。
#include<stdio.h>
#include<math.h>
voidmain()
{intsfloatn,t,pi
t=1n=1.0pi=0s=1
while(_____①_____)
{pi=pi+tn+=2s=_____②_____t=_____③_____}
_____④_____
printf(“pi=%10.6f\n”,pi)
}
三、写出程序的执行结果(每题4分,共12分)
1、
#include<stdio.h>
intsum(intp[],inta)
voidmain()
{intdata[]={{3,2,1},{1,2,3},{4,5,6}}
for(ints,i=0i<3i++)
{printf("%ds=%d\n",sum(data,s),s)}
}
intsum(intp[],inta)
{inti,k=0
staticints=0
for(i=0i<3i++){s+=pk+=p}
a=kreturns
}?
2、
#include<stdio.h>
voidpp(intx[])
voidmain()
{inti,a[]={1,2,3,4,5,6}
pp(a)
for(i=0i<6i++)
printf(“%3d”,a)
}
voidpp(intx[])
{intk
for(k=0k<6k++)
x=x*x
return
}
3、
#include<stdio.h>
voidmain()
{inta,i,j
for(i=1i<6i++)
for(j=1j<6j++)
a=(i/j)*(j/i)
for(i=1i<6i++)
{for(j=1j<6j++)
printf("%2d",a)
printf("\n")
}
}
更多学习资料请进www.openhelp100.com
页:
[1]