青大c程序设计题库.docx
- 文档编号:5743934
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:102
- 大小:30.85KB
青大c程序设计题库.docx
《青大c程序设计题库.docx》由会员分享,可在线阅读,更多相关《青大c程序设计题库.docx(102页珍藏版)》请在冰豆网上搜索。
青大c程序设计题库
试卷编号:
10577
所属语言:
C语言
试卷方案:
TC_150********2
试卷总分:
570分
共有题型:
1种
一、程序设计共57题(共计570分)
第1题(10.0分)题号:
352难度:
易第2章
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
根据整型形参m,计算如下公式的值:
y=1/2+1/4+
1/6+...+1/2m。
例如:
若m=9,则应输出:
1.414484
------------------------------------------------*/
#include
voidwwjt();
doublefun(intm)
{
/**********Program**********/
答案:
----------------------
doubley=0;
inti;
for(i=1;i<=m;i++)
{y+=1.0/(2*i);}
return(y);
--------------------
/**********End**********/
}
main()
{
intn;
printf("Entern:
");
scanf("%d",&n);
printf("\nTheresultis%1f\n",fun(n));
wwjt();
}
voidwwjt()
{
FILE*IN,*OUT;
inti;
intt;
doubleo;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("ReadFILEError");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("WriteFILEError");
}
for(i=0;i<5;i++)
{
fscanf(IN,"%d",&t);
o=fun(t);
fprintf(OUT,"%f\n",o);
}
fclose(IN);
fclose(OUT);
}
第2题(10.0分)题号:
406难度:
易第2章
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
编写函数fun求1000以内所有7的倍数之和。
------------------------------------------------*/
#defineN1000
#include
voidwwjt();
main()
{
intsum;
sum=fun(7);
printf("%d以内所有%d的倍数之和为:
%d\n",N,7,sum);
wwjt();
}
intfun(intm)
{
/**********Program**********/
Inti,s;
S=0;
For(i=7;i<1000;i+=7)
S+=i;
Returns;
/**********End**********/
}
voidwwjt()
{
FILE*IN,*OUT;
intn;
inti[10];
into;
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("WriteFILEError");
}
o=fun(6);
fprintf(OUT,"%d\n",o);
fclose(IN);
fclose(OUT);
}
第3题(10.0分)题号:
375难度:
易第2章
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
从键盘上输入任意实数,求出其所对应的函数值。
z=e的x次幂(x>10)
z=log(x+3)(x>-3)
z=sin(x)/((cos(x)+4)
------------------------------------------------*/
#include
#include
voidwwjt();
doubley(floatx)
{
/**********Program**********/
Doublez;
If(x>10)z=exp(x);
Elseif(x>-3)z=log(x+3);
Elsez=sin(x)/(cos(x)+4);
Return(z);
/**********End**********/
}
main()
{
floatx;
scanf("%f",&x);
printf("y=%f\n",y(x));
wwjt();
}
voidwwjt()
{
FILE*IN,*OUT;
intn;
floati;
doubleo;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("ReadFILEError");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("WriteFILEError");
}
for(n=0;n<10;n++)
{
fscanf(IN,"%f",&i);
o=y(i);
fprintf(OUT,"%ld\n",o);
}
fclose(IN);
fclose(OUT);
}
第4题(10.0分)题号:
357难度:
易第2章
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
根据整型形参m,计算如下公式的值:
y=1/5+1/6+1/7+1/8+1/9+1/10...+1/(m+5)
例如:
若m=9,则应输出:
1.168229
------------------------------------------------*/
#include
voidwwjt();
doublefun(intm)
{
/**********Program**********/
doubley=0;
inti;
for(i=0;i<=m;i++)
{y+=1.0/(i+5);}
return(y);
/**********End**********/
}
main()
{
intn;
printf("Entern:
");
scanf("%d",&n);
printf("\nTheresultis%1f\n",fun(n));
wwjt();
}
voidwwjt()
{
FILE*IN,*OUT;
inti;
intt;
doubleo;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("ReadFILEError");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("WriteFILEError");
}
for(i=0;i<5;i++)
{
fscanf(IN,"%d",&t);
o=fun(t);
fprintf(OUT,"%f\n",o);
}
fclose(IN);
fclose(OUT);
}
第5题(10.0分)题号:
389难度:
易第2章
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
编写函数求表达式的和(n的值由主函数输入)。
1-1/2+1/3-1/4+......+1/m
例如:
当n=20时,表达式的值为0.668771。
------------------------------------------------*/
#include
voidwwjt();
doublesum(intn)
{
/**********Program**********/
floats=0;
inti,k=1;
for(i=1;i<=n;i++)
{s=s+k*1.0/i;
k=-k;
}
return(s);
/**********End**********/
}
main()
{
intn;
scanf("%d",&n);
printf("sum=%f\n",sum(n));
wwjt();
}
voidwwjt()
{
FILE*IN,*OUT;
intn;
inti[10];
doubleo;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("ReadFILEError");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("WriteFILEError");
}
for(n=0;n<5;n++)
fscanf(IN,"%d",&i[n]);
for(n=0;n<5;n++)
{
o=sum(i[n]);
fprintf(OUT,"%f\n",o);
}
fclose(IN);
fclose(OUT);
}
第6题(10.0分)题号:
5难度:
中第1章
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
从键盘为一维整型数组输入10个整数,调用fun函
数找出其中最小的数,并在main函数中输出。
。
------------------------------------------------*/
#include"stdio.h"
voidwwjt();
intfun(intx[],intn){
/**********Program**********/
答案:
intmin,i;
min=x[0];
for(i=1;i {if(x[i] returnmin; /**********End**********/ } voidmain(){ inta[10],i,min; for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=0;i<10;i++) printf("%3d",a[i]); printf("\n"); min=fun(a,10); printf("%d\n",min); wwjt(); } voidwwjt() { FILE*IN,*OUT; intin[4],out; IN=fopen("in.dat","r"); if(IN==NULL)printf("ReadFILEError"); OUT=fopen("out.dat","w"); if(OUT==NULL)printf("WriteFILEError"); for(intj=0;j<5;j++) { for(inti=0;i<4;i++) { fscanf(IN,"%d",&in[i]); } out=fun(in,4); fprintf(OUT,"%d\n",out); } fclose(IN); fclose(OUT); } 第7题(10.0分)题号: 367难度: 中第2章 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能: 找出一批正整数中的最大的偶数。 ------------------------------------------------*/ #include voidwwjt(); intfun(inta[],intn) { /**********Program**********/ 答案: ---------------------- inti,amax=-1; for(i=0;i if(a[i]%2==0) if(a[i]>amax)amax=a[i]; returnamax; ---------------------- /**********End**********/ } main() { inta[]={1,2,9,24,35,18},k; k=fun(a,6); printf("max=%d\n",k); wwjt(); } voidwwjt() { FILE*IN,*OUT; intiIN[10],iOUT,i,j; IN=fopen("in.dat","r"); if(IN==NULL) { printf("PleaseVerifyTheCurrerntDir..itMayBeChanged"); } OUT=fopen("out.dat","w"); if(OUT==NULL) { printf("PleaseVerifyTheCurrentDir..itMayBeChanged"); } for(j=0;j<10;j++) { for(i=0;i<10;i++) fscanf(IN,"%d",&iIN[i]); iOUT=fun(iIN,10); } fprintf(OUT,"%d\n",iOUT); fclose(IN); fclose(OUT); } 第8题(10.0分)题号: 366难度: 易第2章 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能: 求一组数中大于平均值的数的个数。 例如: 给定的一组数为1,3,6,9,4,23,35,67,12,88时,函 数值为3。 ------------------------------------------------*/ #include voidwwjt(); intfun(inta[],intn) { /**********Program**********/ 答案: ---------------------- inti,k=0; floats=0,ave; for(i=0;i s+=a[i]; ave=s/n; printf("%f",ave); for(i=0;i if(a[i]>ave)k++; returnk; ---------------------- /**********End**********/ } main() { inta[10]={1,3,6,9,4,23,35,67,12,88}; inty; y=fun(a,10); printf("y=%d\n",y); wwjt(); } voidwwjt() { FILE*IN,*OUT; intiIN[10],iOUT,i,j; IN=fopen("in.dat","r"); if(IN==NULL) { printf("PleaseVerifyTheCurrerntDir..itMayBeChanged"); } OUT=fopen("out.dat","w"); if(OUT==NULL) { printf("PleaseVerifyTheCurrentDir..itMayBeChanged"); } for(j=0;j<10;j++) { for(i=0;i<10;i++) fscanf(IN,"%d",&iIN[i]); iOUT=fun(iIN,10); } fprintf(OUT,"%d\n",iOUT); fclose(IN); fclose(OUT); } 第9题(10.0分)题号: 327难度: 易第2章 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能: 能计算从1开始到n的自然数的和,n由键盘输入, 并在main()函数中输出。 ------------------------------------------------*/ #include voidwwjt(); intfun(intn) { /**********Program**********/ 答案: ---------------------- intsum,i; sum=0; for(i=1;i<=n;i++) {sum=sum+i;} return(sum); ---------------------- /**********End**********/ } main() { intm; printf("Enterm: "); scanf("%d",&m); printf("\nTheresultis%d\n",fun(m)); wwjt(); } voidwwjt() { FILE*IN,*OUT; intt; into; intc; IN=fopen("in.dat","r"); if(IN==NULL) { printf("ReadFILEError"); } OUT=fopen("out.dat","w"); if(OUT==NULL) { printf("WriteFILEError"); } for(c=1;c<=5;c++) { fscanf(IN,"%d",&t); o=fun(t); fprintf(OUT,"%d\n",o); } fclose(IN); fclose(OUT); } 第10题(10.0分)题号: 54难度: 易第1章 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能: 求1到100之间的偶数之积。 ------------------------------------------------*/ #include voidwwjt(); doublefun(intm) { /**********Program**********/ 答案: ---------------------- doubley=1; inti; for(i=1;i<=m;i++) if(i%2==0)y*=i; returny; ---------------------- /**********End**********/ } main() { printf("ji=%f\n",fun(100)); wwjt(); } voidwwjt() { FILE*IN,*OUT; intiIN,i; doubledOUT; IN=fopen("23.IN","r"); if(IN==NULL) { printf("PleaseVerifyTheCurrerntDir..itMayBeChanged"); } OUT=fopen("23.out","w"); if(OUT==NULL) { printf("PleaseVerifyTheCurrentDir..itMayBeChanged"); } for(i=0;i<10;i++) { fscanf(IN,"%d",&iIN); dOUT=fun(iIN); fprintf(OUT,"%f\n",dOUT); } fclose(IN); fclose(OUT); } 第11题(10.0分)题号: 373难度: 较易第2章 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能: 用函数求fibonacci数列前n项的和。 说明: fibonacci数列为数列的第一项值为1,第二项值也 为1,从第三项开始,每一项均为其前面相邻两项
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 题库
![提示](https://static.bdocx.com/images/bang_tan.gif)