程序设计上机全.docx

上传人:b****2 文档编号:1696208 上传时间:2023-05-01 格式:DOCX 页数:288 大小:59.62KB
下载 相关 举报
程序设计上机全.docx_第1页
第1页 / 共288页
程序设计上机全.docx_第2页
第2页 / 共288页
程序设计上机全.docx_第3页
第3页 / 共288页
程序设计上机全.docx_第4页
第4页 / 共288页
程序设计上机全.docx_第5页
第5页 / 共288页
程序设计上机全.docx_第6页
第6页 / 共288页
程序设计上机全.docx_第7页
第7页 / 共288页
程序设计上机全.docx_第8页
第8页 / 共288页
程序设计上机全.docx_第9页
第9页 / 共288页
程序设计上机全.docx_第10页
第10页 / 共288页
程序设计上机全.docx_第11页
第11页 / 共288页
程序设计上机全.docx_第12页
第12页 / 共288页
程序设计上机全.docx_第13页
第13页 / 共288页
程序设计上机全.docx_第14页
第14页 / 共288页
程序设计上机全.docx_第15页
第15页 / 共288页
程序设计上机全.docx_第16页
第16页 / 共288页
程序设计上机全.docx_第17页
第17页 / 共288页
程序设计上机全.docx_第18页
第18页 / 共288页
程序设计上机全.docx_第19页
第19页 / 共288页
程序设计上机全.docx_第20页
第20页 / 共288页
亲,该文档总共288页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

程序设计上机全.docx

《程序设计上机全.docx》由会员分享,可在线阅读,更多相关《程序设计上机全.docx(288页珍藏版)》请在冰点文库上搜索。

程序设计上机全.docx

程序设计上机全

试卷编号:

8398

所属语言:

大学计算机基础

试卷方案:

h

试卷总分:

1160分

共有题型:

1种

━━━━━━━━━━━━━━━━━━

一、程序设计共116题(共计1160分)

━━━━━━━━━━━━━━━━━━

第1题(10.0分)题号:

387

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

【程序设计】

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

功能:

用函数求N个[10,60]上的整数中能被5整除的最大

的数,如存在则返回这个最大值,如果不存在则

返回0。

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

 

intfind(intarr[],intn)

{

intm=0;

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

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

return(m);

}

#defineN30

#include"stdlib.h"

#include"stdio.h"

main()

{

inta[N],i,k;

for(i=0;i

a[i]=random(51)+10;

for(i=0;i

{

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

if((i+1)%5==0)printf("\n");

}

k=find(a,N);

if(k==0)

printf("NOFOUND\n");

else

printf("themaxis:

%d\n",k);

yzj();

getch();

}

yzj()

{

FILE*IN,*OUT;

intn;

inti[5];

into;

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

}

o=find(i,5);

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

fclose(IN);

fclose(OUT);

}

答案:

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

inti;

for(i=0;i

if(arr[i]%5==0&&arr[i]>m)

m=arr[i];

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

第2题(10.0分)题号:

365

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

【程序设计】

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

功能:

求一个四位数的各位数字的立方和。

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

#include"stdio.h"

intfun(intn)

{

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

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

}

main()

{

intk;

k=fun(1234);

printf("k=%d\n",k);

yzj();

getch();

}

yzj()

{

FILE*IN,*OUT;

intiIN,iOUT,i;

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,"%d\n",iOUT);

}

fclose(IN);

fclose(OUT);

}

答案:

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

intd,k,s=0;

while(n>0)

{d=n%10;

s+=d*d*d;

n/=10;

}

returns;

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

第3题(10.0分)题号:

398

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

【程序设计】

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

功能:

编写函数fun(str,i,n),从字符串str中删除第i个

字符开始的连续n个字符(注意:

str[0]代表字符串

的第一个字符)。

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

#include"stdio.h"

main()

{

charstr[81];

inti,n;

printf("请输入字符串str的值:

\n");

scanf("%s",str);

printf("你输入的字符串str是:

%s\n",str);

printf("请输入删除位置i和待删字符个数n的值:

\n");

scanf("%d%d",&i,&n);

while(i+n-1>strlen(str))

{

printf("删除位置i和待删字符个数n的值错!

请重新输入i和n的值\n");

scanf("%d%d",&i,&n);

}

fun(str,i,n);

printf("删除后的字符串str是:

%s\n",str);

getch();

yzj();

}

fun(charstr[],inti,intn)

{

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

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

}

 

yzj()

{

FILE*IN,*OUT;

intn;

chari[200];

charo[200];

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

if(IN==NULL)

{

printf("ReadFileError");

}

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

if(OUT==NULL)

{

printf("WriteFileError");

}

fscanf(IN,"%s",i);

fun(i,2,8);

fprintf(OUT,"%s\n",i);

fclose(IN);

fclose(OUT);

}

答案:

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

while(str[i+n-1])

{

str[i-1]=str[i+n-1];

i++;

}

str[i-1]='\0';

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

第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分)题号:

381

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

【程序设计】

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

功能:

用辗转相除法求两个整数的最大公约数。

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

#include

intgcd(intn,intm)

{

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

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

}

main()

{

intn,m,result;

clrscr();

scanf("%d%d",&n,&m);

result=gcd(n,m);

printf("thegcdis%d\n",result);

yzj();

getch();

}

yzj()

{

FILE*IN,*OUT;

intm,n;

inti[2];

into;

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

if(IN==NULL)

{

printf("ReadFileError");

}

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

if(OUT==NULL)

{

printf("WriteFileError");

}

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

{

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

{

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

}

o=gcd(i[0],i[1]);

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

}

fclose(IN);

fclose(OUT);

}

答案:

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

intr,t;

if(n

r=n%m;

while(r!

=0)

{n=m;m=r;r=n%m;}

return(m);

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

第6题(10.0分)题号:

380

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

【程序设计】

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

功能:

给定n个数据,求最大值出现的位置(如果最大值出

现多次,求出第一次出现的位置即可)。

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

#include

intstation(ints[],intn)

{

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

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

}

main()

{

inta[100],n,i,t;

clrscr();

scanf("%d",&n);

for(i=0;i

scanf("%d",&a[i]);

t=station(a,n);

printf("themax_valuepositionis:

%d\n",t);

yzj();

getch();

}

yzj()

{

FILE*IN,*OUT;

intn;

inti[10];

into;

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,"%d",&i[n]);

}

o=station(i,10);

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

fclose(IN);

fclose(OUT);

}

答案:

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

inti,k;

k=0;

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

if(s[i]>s[k])k=i;

return(k+1);

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

第7题(10.0分)题号:

350

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

【程序设计】

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

功能:

从低位开始取出长整型变量s奇数位上的数,依次

构成一个新数放在t中。

例如:

当s中的数为:

7654321时,t中的数为:

7531。

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

#include"stdio.h"

longfun(longs,longt)

{

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

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

}

returnt;

}

main()

{

longs,t,m;

clrscr();

printf("\nPleaseenters:

");scanf("%ld",&s);

m=fun(s,t);

printf("Theresultis:

%ld\n",m);

getch();

yzj();

}

yzj()

{

FILE*IN,*OUT;

intn;

longi,t,m;

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,"%ld",&i);

m=fun(i,t);

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

}

fclose(IN);

fclose(OUT);

}

答案:

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

longsl=10;

t=s%10;

while(s>0)

{s=s/100;

t=s%10*sl+t;

sl=sl*10;

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

第8题(10.0分)题号:

351

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

【程序设计】

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

功能:

请编一个函数voidfun(inttt[M][N],intpp[N]),

tt指向一个M行N列的二维数组,求出二维数组每列

中最小元素,并依次放入pp所指一维数组中。

二维

数组中的数已在主函数中赋予。

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

#include

#include

#defineM3

#defineN4

voidfun(inttt[M][N],intpp[N])

{

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

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

}

main()

{

intt[M][N]={{22,45,56,30},

{19,33,45,38},

{20,22,66,40}};

intp[N],i,j,k;

clrscr();

printf("Theoriginaldatais:

\n");

for(i=0;i

{

for(j=0;j

printf("%6d",t[i][j]);

printf("\n");

}

fun(t,p);

printf("\nTheresultis:

\n");

for(k=0;k

printf("\n");

getch();

NONO();

}

NONO()

{

inti,j,array[3][4],p[4];

FILE*rf,*wf;

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

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

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

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

fscanf(rf,"%d",&array[i][j]);

fun(array,p);

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

{

fprintf(wf,"%7d",p[j]);

fprintf(wf,"\n");

}

fclose(rf);

fclose(wf);

}

答案:

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

inti,j;

for(j=0;j

{

pp[j]=tt[0][j];

for(i=1;i

if(tt[i][j]

pp[j]=tt[i][j];

}

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

第9题(10.0分)题号:

501

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

【程序设计】

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

功能:

有一个一维数组score,内放10个学生的成绩,用一

个函数来求平均成绩。

例如:

如果10个学生的成绩分别为92,87,68,56,92,84,

70,65,90,60则平均成绩为:

76.400000

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

#include"stdio.h"

floataverage(floatarray[10])

{

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

 

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

}

main()

{

floatscore[]={92,87,68,56,92,84,70,65,90,60};

printf("averagescoreis%f\n",average(score));

wwjt();

}

wwjt()

{

FILE*IN,*OUT;

inti;

floatfIN[10];

floatfOUT;

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,"%f",&fIN[i]);

}

fOUT=average(fIN);

fprintf(OUT,"%f\n",fOUT);

fclose(IN);

fclose(OUT);

}

答案:

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

inti;

floataver,s

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

当前位置:首页 > 初中教育 > 中考

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2