模拟题带答案终结版.docx

上传人:b****9 文档编号:26343385 上传时间:2023-06-17 格式:DOCX 页数:21 大小:16.86KB
下载 相关 举报
模拟题带答案终结版.docx_第1页
第1页 / 共21页
模拟题带答案终结版.docx_第2页
第2页 / 共21页
模拟题带答案终结版.docx_第3页
第3页 / 共21页
模拟题带答案终结版.docx_第4页
第4页 / 共21页
模拟题带答案终结版.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

模拟题带答案终结版.docx

《模拟题带答案终结版.docx》由会员分享,可在线阅读,更多相关《模拟题带答案终结版.docx(21页珍藏版)》请在冰豆网上搜索。

模拟题带答案终结版.docx

模拟题带答案终结版

第一题

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

【程序设计】

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

功能:

编写函数fun其功能是:

根据整型形参m,计算如下

公式的值:

y=1/2!

+1/4!

+...+1/m!

(m是偶数)

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

#include"stdio.h"

doublefun(intm)

{

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

doubley=0.0;

inti,j;

doubles=1;

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

{

for(j=i-1;j<=i;j++)

s=s*j;

y=y+1.0/s;

}

returny;

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

}

main()

{

intn;

printf("Entern:

");

scanf("%d",&n);

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

yzj();

}

yzj()

{

FILE*IN,*OUT;

intt;

floato;

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,"%f\n",o);

}

fclose(IN);

fclose(OUT);

}

第二题

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

【程序设计】

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

功能:

在键盘上输入一个3行3列矩阵的各个元素的值(值

为整数),然后输出矩阵第一行与第三行元素之和,

并在fun()函数中输出。

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

#include"stdio.h"

main()

{

inti,j,s,a[3][3];

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

{

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

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

}

s=fun(a);

printf("Sum=%d\n",s);

yzj();

}

intfun(inta[3][3])

{

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

intsum;

inti,j;

sum=0;

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

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

sum=sum+a[i][j];

returnsum;

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

}

yzj()

{

FILE*IN,*OUT;

intm;

intn;

inti[3][3];

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<3;m++)

{

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

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

}

o=fun(i);

{

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

}

fclose(IN);

fclose(OUT);

}

第三题

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

【程序设计】

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

功能:

若x、y为奇数,求x到y之间的奇数和;若x、y为偶

数,则求x到y之间的偶数和。

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

#include"stdio.h"

main()

{

ints,i,j;

s=fun(1,1999)-fun(2,1998);

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

yzj();

}

intfun(intx,inty)

{

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

inti,s=0;

for(i=x;i<=y;i+=2)

s=s+i;

returns;

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

}

yzj()

{

FILE*IN,*OUT;

intn;

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<2;n++)

{

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

}

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

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

fclose(IN);

fclose(OUT);

}

第四题

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

【程序设计】

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

功能:

在键盘上输入一个3行3列矩阵的各个元素的值(值

为整数),然后输出主对角线元素的积,并在fun()

函数中输出。

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

#include"stdio.h"

main()

{

inti,j,s,a[3][3];;

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

{

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

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

}

s=fun(a);

printf("Sum=%d\n",s);

yzj();

}

intfun(inta[3][3])

{

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

intsum;

inti,j;

sum=1;

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

sum=sum*a[i][i];

returnsum;

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

}

yzj()

{

FILE*IN,*OUT;

intm;

intn;

inti[3][3];

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<3;m++)

{

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

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

}

o=fun(i);

{

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

}

fclose(IN);

fclose(OUT);

}

第五题

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

【程序设计】

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

功能:

编写函数fun用比较法对主程序中用户输入的具有10

个数据的数组a按由大到小排序,并在主程序中输出

排序结果。

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

#include"stdio.h"

intfun(intarray[],intn)

{

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

intk,j,t;

for(k=0;k

for(j=k+1;j

if(array[k]

{

t=array[k];

array[k]=array[j];

array[j]=t;

}

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

}

main()

{

inta[10],i;

printf("请输入数组a中的十个数:

\n");

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

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

fun(a,10);

printf("由大到小的排序结果是:

\n");

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

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

printf("\n");

yzj();

}

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

}

fun(i,10);

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

{

fprintf(OUT,"%d\n",i[n]);

}

fclose(IN);

fclose(OUT);

}

第六题

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

【程序设计】

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

功能:

编写函数fun其功能是:

根据整型形参m,计算如下

公式的值:

y=1+1/3+1/5+1/7+...+1/(2m+1)

例如:

若m=9,则应输出:

2.133256

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

#include"stdio.h"

doublefun(intm)

{

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

doubley=1;

inti;

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

{y+=1.0/(2*i+1);}

return(y);

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

}

main()

{

intn;

printf("Entern:

");

scanf("%d",&n);

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

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

}

第七题

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

【程序设计】

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

功能:

编写函数fun求1!

+2!

+3!

+……+n!

的和,在main函

数中由键盘输入n值,并输出运算结果。

请编写fun

函数。

例如:

若n值为5,则结果为153。

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

#include

floatfun(intn)

{

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

inti;

floatf=1,s=0;

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

{f=f*i;

s=s+f;}

returns;

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

}

main()

{

inti,n;

longintresult;

scanf("%d",&n);

result=fun(n);

printf("%ld\n",result);

yzj();

}

yzj()

{

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<10;i++)

{

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

iOUT=fun(iIN);

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

}

fclose(IN);

fclose(OUT);

}

第八题

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

【程序设计】

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

功能:

求出N×M整型数组的最大元素及其所在的行坐标及

列坐标(如果最大元素不唯一,选择位置在最前面

的一个)。

例如:

输入的数组为:

123

4156

12189

10112

求出的最大数为18,行坐标为2,列坐标为1。

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

#defineN4

#defineM3

#include

intRow,Col;

main()

{

inta[N][M],i,j,max,row,col;

printf("inputaarray:

");

for(i=0;i

for(j=0;j

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

for(i=0;i

{

for(j=0;j

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

printf("\n");

}

max=fun(a);

printf("max=%d,row=%d,col=%d",max,Row,Col);

yzj();

}

intfun(intarray[N][M])

{

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

intmax,i,j;

max=array[0][0];

Row=0;

Col=0;

for(i=0;i

{for(j=0;j

if(max

{max=array[i][j];

Row=i;

Col=j;}

}

return(max);

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

}

yzj()

{

FILE*IN,*OUT;

intiIN[N][M],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(i=0;i

for(j=0;j

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

iOUT=fun(iIN);

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

fclose(IN);

fclose(OUT);

}

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

当前位置:首页 > IT计算机 > 互联网

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

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