C语言题库程序设计容易.docx

上传人:b****7 文档编号:23439515 上传时间:2023-05-17 格式:DOCX 页数:52 大小:21.51KB
下载 相关 举报
C语言题库程序设计容易.docx_第1页
第1页 / 共52页
C语言题库程序设计容易.docx_第2页
第2页 / 共52页
C语言题库程序设计容易.docx_第3页
第3页 / 共52页
C语言题库程序设计容易.docx_第4页
第4页 / 共52页
C语言题库程序设计容易.docx_第5页
第5页 / 共52页
点击查看更多>>
下载资源
资源描述

C语言题库程序设计容易.docx

《C语言题库程序设计容易.docx》由会员分享,可在线阅读,更多相关《C语言题库程序设计容易.docx(52页珍藏版)》请在冰豆网上搜索。

C语言题库程序设计容易.docx

C语言题库程序设计容易

试卷编号:

18337

所属语言:

TurboC

试卷方案:

phq1

试卷总分:

220分

共有题型:

1种

 

一、程序设计共22题(共计220分)

第1题(10.0分)题号:

313

/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:

调用函数fun判断一个三位数是否"水仙花数"。

在main函数中从键盘输入一个三位数,并输

出判断结果。

请编写fun函数。

说明:

所谓"水仙花数"是指一3位数,其各位数字立方和

等于该数本身。

例如:

153是一个水仙花数,因为153=1+125+27。

------------------------------------------------*/

#include"stdio.h"

intfun(intn)

{

/**********Program**********/

/**********End**********/

}

main()

{

intn,flag;

scanf("%d",&n);

flag=fun(n);

if(flag)

printf("%d是水仙花数\n",n);

else

printf("%d不是水仙花数\n",n);

getch();

yzj();

}

yzj()

{

FILE*IN,*OUT;

intiIN,i;

intiOUT;

IN=fopen("in.dat","r");

if(IN==NULL)

{

printf("PleaseVerifyTheCurrerntDir..ItMayBeChanged");

}

OUT=fopen("out.dat","w");

if(OUT==NULL)

{

printf("PleaseVerifyTheCurrentDir..ItMayBeChanged");

}

for(i=0;i<10;i++)

{

fscanf(IN,"%d",&iIN);

iOUT=fun(iIN);

fprintf(OUT,"%d\n",iOUT);

}

fclose(IN);

fclose(OUT);

}

答案:

----------------------

intbw,sw,gw;

bw=n/100;sw=(n-bw*100)/10;gw=n%10;

if(n==bw*bw*bw+sw*sw*sw+gw*gw*gw)return1;

elsereturn0;

----------------------

第2题(10.0分)题号:

395

/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:

产生20个[30,120]上的随机整数放入二维数组

a[5][4]中,求其中的最小值。

------------------------------------------------*/

#include"stdlib.h"

#include"stdio.h"

intamin(inta[5][4])

{

/**********Program**********/

/**********End**********/

}

main()

{

inta[5][4],i,j;

clrscr();

for(i=0;i<5;i++)

for(j=0;j<4;j++)

a[i][j]=random(120-30+1)+30;

for(i=0;i<5;i++)

{

for(j=0;j<4;j++)

printf("%5d",a[i][j]);

printf("\n");

}

printf("min=%d\n",amin(a));

yzj();

getch();\

}

yzj()

{

FILE*IN,*OUT;

intm,n;

inti[5][4];

into;

IN=fopen("in.dat","r");

if(IN==NULL)

{

printf("ReadFileError");

}

OUT=fopen("out.dat","w");

if(OUT==NULL)

{

printf("WriteFileError");

}

for(m=0;m<5;m++)

for(n=0;n<4;n++)

{

fscanf(IN,"%d",&i[m][n]);

}

o=amin(i);

fprintf(OUT,"%d\n",o);

fclose(IN);

fclose(OUT);

}

答案:

----------------------

inti,j,s;

s=a[0][0];

for(i=0;i<5;i++)

for(j=0;j<4;j++)

if(s>a[i][j])s=a[i][j];

return(s);

----------------------

第3题(10.0分)题号:

22

/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:

从键盘为一维整型数组输入10个整数,调用fun

函数找出其中最小的数,并在main函数中输出。

请编写fun函数。

-------------------------------------------------*/

#include"stdio.h"

intfun(intx[],intn)

{

/**********Program**********/

/**********End**********/

}

main()

{

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);

yzj();

}

yzj()

{

FILE*IN,*OUT;

intiIN[10],i;

intiOUT,iCOUNT;

IN=fopen("4.in","r");

if(IN==NULL)

{

printf("PleaseVerifyTheCurrerntDir..ItMayBeChanged");

}

OUT=fopen("4.out","w");

if(OUT==NULL)

{

printf("PleaseVerifyTheCurrentDir..ItMayBeChanged");

}

for(i=0;i<10;i++)

{

for(iCOUNT=0;iCOUNT<10;iCOUNT++)

fscanf(IN,"%d",&iIN[iCOUNT]);

iOUT=fun(iIN,10);

fprintf(OUT,"%d\n",iOUT);

}

fclose(IN);

fclose(OUT);

}

答案:

----------------------

intmin,i;

min=x[0];

for(i=1;i

{if(x[i]

returnmin;

----------------------

第4题(10.0分)题号:

23

/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:

从键盘输入一个大于3的整数,调用函数fun判断

其是否素数,然后在main函数中输出相应的结论

信息。

例如:

7是素数,8不是素数。

请编写fun函数。

素数是

仅能被1和自身整除的数

-------------------------------------------------*/

#include"stdio.h"

main()

{

intm,flag;

printf("inputaninteger:

");

scanf("%d",&m);

flag=fun(m);

if(flag)

printf("%disaprime.\n",m);

else

printf("%disnotaprime.\n",m);

yzj();

}

intfun(intn)

{

/**********Program**********/

/**********End**********/

}

yzj()

{

FILE*IN,*OUT;

intiIN,iOUT,i;

IN=fopen("5.in","r");

if(IN==NULL)

{

printf("PleaseVerifyTheCurrerntDir..ItMayBeChanged");

}

OUT=fopen("5.out","w");

if(OUT==NULL)

{

printf("PleaseVerifyTheCurrentDir..ItMayBeChanged");

}

for(i=0;i<10;i++)

{

fscanf(IN,"%d",&iIN);

iOUT=fun(iIN);

fprintf(OUT,"%d\n",iOUT);

}

fclose(IN);

fclose(OUT);

}

答案:

----------------------

inti;

intj;

j=1;

for(i=2;i

{if(n%i==0)j=0;

}

returnj;

----------------------

第5题(10.0分)题号:

33

/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:

用do-while语句求1~100的累计和。

------------------------------------------------*/

#include

longintfun(intn)

{

/**********Program**********/

 

/**********End**********/

}

voidmain()

{

inti=100;

printf("1~100的累加和为:

%ld\n",fun(i));

wwjt();

}

wwjt()

{

FILE*IN,*OUT;

inti;

intiIN;

longintiOUT;

IN=fopen("in.dat","r");

if(IN==NULL)

{

printf("PleaseVerifyTheCurrerntDir..ItMayBeChanged");

}

OUT=fopen("out.dat","w");

if(OUT==NULL)

{

printf("PleaseVerifyTheCurrentDir..ItMayBeChanged");

}

for(i=0;i<5;i++)

{

fscanf(IN,"%d",&iIN);

iOUT=fun(iIN);

fprintf(OUT,"%ld\n",iOUT);

}

fclose(IN);

fclose(OUT);

}

 

答案:

inti=1,sum=0;

do

{sum=sum+i;

i++;

}while(i<=n);

returnsum;

 

第6题(10.0分)题号:

56

/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:

求1到100之间的偶数之积。

------------------------------------------------*/

#include"stdio.h"

doublefun(intm)

{

/**********Program**********/

/**********End**********/

}

main()

{

printf("ji=%f\n",fun(100));

yzj();

}

yzj()

{

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);

}

答案:

----------------------

doubley=1;

inti;

for(i=1;i<=m;i++)

if(i%2==0)y*=i;

returny;

----------------------

第7题(10.0分)题号:

358

/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:

根据整型形参m,计算如下公式的值:

y=1/5+1/6+1/7+1/8+1/9+1/10...+1/(m+5)

例如:

若m=9,则应输出:

1.168229

------------------------------------------------*/

#include"stdio.h"

doublefun(intm)

{

/**********Program**********/

/**********End**********/

}

main()

{

intn;

clrscr();

printf("Entern:

");

scanf("%d",&n);

printf("\nTheresultis%1f\n",fun(n));

getch();

yzj();

}

yzj()

{

FILE*IN,*OUT;

ints,i;

intt;

floato;

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);

}

答案:

----------------------

doubley=0;

inti;

for(i=0;i<=m;i++)

{y+=1.0/(i+5);}

return(y);

----------------------

第8题(10.0分)题号:

376

/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:

从键盘上输入任意实数,求出其所对应的函数值。

z=e的x次幂(x>10)

z=log(x+3)(x>-3)

z=sin(x)/((cos(x)+4)

------------------------------------------------*/

#include

#include

doubley(floatx)

{

/**********Program**********/

/**********End**********/

}

main()

{

floatx;

scanf("%f",&x);

printf("y=%f\n",y(x));

yzj();

getch();

}

yzj()

{

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);

}

答案:

----------------------

doublez;

if(x>10)z=exp(x);

elseif(x>-3)z=log(x+3);

elsez=sin(x)/(cos(x)+4);

return(z);

----------------------

第9题(10.0分)题号:

390

/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:

编写函数求表达式的和(n的值由主函数输入)。

1-1/2+1/3-1/4+......+1/m

例如:

当n=20时,表达式的值为0.668771。

------------------------------------------------*/

#include"stdio.h"

floatsum(intn)

{

/**********Program**********/

/**********End**********/

}

main()

{

intn;

scanf("%d",&n);

printf("sum=%f\n",sum(n));

yzj();

getch();

}

yzj()

{

FILE*IN,*OUT;

intm,n;

inti[10];

floato;

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);

}

答案:

----------------------

floats=0;

inti,k=1;

for(i=1;i<=n;i++)

{s=s+k*1.0/i;

k=-k;

}

return(s);

----------------------

第10题(10.0分)题号:

328

/*------------------------------------------------

【程序设计】

--------------------------------------------------

 

第11题(10.0分)题号:

361

/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:

把20个随机数存入一个数组,然后输出该数组中的

最大值。

------------------------------------------------*/

#include"stdio.h"

#defineVSIZE20

intvector[VSIZE];

intfun(intlist[]

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 简洁抽象

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1