模拟题带答案终结版.docx
- 文档编号:26343385
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:21
- 大小:16.86KB
模拟题带答案终结版.docx
《模拟题带答案终结版.docx》由会员分享,可在线阅读,更多相关《模拟题带答案终结版.docx(21页珍藏版)》请在冰豆网上搜索。
模拟题带答案终结版
第一题
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
编写函数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); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模拟 答案 终结