控制结构上机题目.docx
- 文档编号:23419052
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:41
- 大小:23.30KB
控制结构上机题目.docx
《控制结构上机题目.docx》由会员分享,可在线阅读,更多相关《控制结构上机题目.docx(41页珍藏版)》请在冰豆网上搜索。
控制结构上机题目
控制结构上机题目
/*设计程序:
数列第1项为81,此后各项均为它前1项的正平方根,统计该*/
/*数列前30项之和,并以格式"%.3f"写到考生目录中Paper子目录下的新建文件design.dat中。
*/
#include
#include
voidmain()
{FILE*p;floats=0,a=81;inti;
/*
*
*
*考生在这里添加代码
*
*
*/
}
/*设计程序:
统计满足条件x*x+y*y+z*z==2000的所有解的个数,并将统计*/
/*结果以格式"%d"写入到考生目录中Paper子目录下的新建文件design.dat中*/
/*说明:
若a、b、c是1个解,则a、c、b也是1个解,等等。
*/
#include
voidmain()
{FILE*p;intx,y,z,k=0;
if((p=fopen("design1.dat","w"))==NULL)
{
printf("Cannotopenthisfile");
exit(0);
}
for(x=-50;x<=50;x++)
for(y=-50;y<=50;y++)
for(z=-50;z<=50;z++)
if(x*x+y*y+z*z==0)
k++;
fprintf(p,"%d",k);
fclose(p);
}
/*设计程序:
计算表达式1+2!
+3!
+...+12!
的值,并将计算结果以格式*/
/*"%ld"写入到考生目录中Paper子目录下的新建文件design.dat中*/
#include
voidmain()
{FILE*p;longs=1,k=1;inti;
if((p=fopen("design2.dat","w"))=NULL)
{
printf("Cannotopenthisfile");
exit(0);
}
s=1;
for(i=2;i<=12;i++)
{
k=k*i;
s=s+k;
}
fprintf(p,"%lf","s");
fclose(p);
}
/*设计程序:
将满足条件pow(1.05,n)<1e6 /*值以格式"%d,%.0f"写入到考生目录中Paper子目录下的新建文件design.dat中。 */ #include #include voidmain() {floaty=1.05;intn=1;FILE*p; /* * * *考生在这里添加代码 * * */ fprintf(p,"%d,%.0f",n,pow(1.05,n)); fclose(p); } /* *设计程序: z=f(x,y)=10*cos(x-4)+5*sin(y-2),若x,y取值为区间[0,10]的整数,找出 *使z取最小值的x1,y1,并将x1、y1以格式"%d,%d"写入到考生目录中Paper子目录下的 *新建文件design.dat中。 */ #include #include voidmain() { FILE*p; intx,y,x1,y1;floatz,z1; /* * * *考生在这里添加代码 * * */ } /* *设计程序: 求解百鸡问题。 *已知公鸡每只5元、母鸡每只3元、小鸡1元3只。 求出用100元买100只鸡的解。 *将得到的解按公鸡、母鸡和小鸡的只数以"%d,%d,%d\n"的格式写入到考生目录中Paper子目录下的 *新建文件design.dat中。 */ #include voidmain() {FILE*p; intcock,hen,chick; /* * * *考生在这里添加代码 * * */ } /*设计程序: *利用公式π/4≈1-1/3+1/5-1/7+……公式计算π的近似值,直到某一项的绝对值小于1e-6为止。 (π/4的结果不包含此项) *将结果以格式"%.6f"写入到考生目录中Paper子目录下的新建文件design.dat中。 */ #include #include voidmain() { FILE*fp; floatn=1,t=1,pi=0; inti; /* * * *考生在这里添加代码 * * */ } /*设计程序: 计算2的平方根、3的平方根、...、10的的平方根之和,要求计算结果具*/ /*有小数点后10位有效位数,并以格式"%.10f\n"写到考生目录中Paper子目录下的新建*/ /*文件design.dat中。 */ #include #include voidmain() {FILE*p; /* * * *考生在这里添加代码 * * */ } /* *设计程序: 有数列: 2/1,3/2,5/3,8/5,13/8,21/13,……求出数列的前40项的和。 将结果 *以格式"%.6f"写入到考生目录中Paper子目录下的新建文件design.dat中。 */ #include voidmain() { FILE*p; inti; floatf1=1.0,f2=2.0,t1=2.0,t2=3.0,s; floatf,t; s=t1/f1+t2/f2; /* * * *考生在这里添加代码 * * */ } /*设计程序: 在6至5000内找出所有的亲密数对,并将每对亲密数用语句*/ /*fprintf(p,"%6d,%6d\n",a,b);”写到考生目录中Paper子目录下的新建文件design.dat中。 */ /*说明: 若a、b为1对亲密数,则a的因子和等于b、b的因子和等于a、且a不等于b。 */ /*如: 220、284是1对亲密数,284、220也是1对亲密数。 */ #include voidmain() {FILE*p;inta,b,c,k; /* * * *考生在这里添加代码 * * */ } /*设计程序: 计算数列1,-1/3! 1/5! -1/7! 1/9! ...的和至某项的绝对值*/ /*小于1e-5时为止(该项不累加),将求和的结果以格式"%.6"写到考生目录*/ /*中Paper子目录下的新建文件design.dat中。 */ #include #include voidmain() {FILE*p;floats=1,t=1,i=3; /* * * *考生在这里添加代码 * * */ } /*设计程序: 在正整数中找出1个最小的、被3、5、7、9除余数分别为1、*/ /*3、5、7的数,将该数以格式"%d"写到考生目录中Paper子目录下的新建文*/ /*件design.dat中。 */ #include #include voidmain() {FILE*fp; intn=1,k=1; /* * * *考生在这里添加代码 * * */ } /* *在考生目录的Paper子目录下,有Modify.c文件,该文件中"____N____"是根据程序功能 *需要填充部分,请完成程序填充(注意: 不得加行、减行、加句、减句,否则后果自负)。 *该程序功能: 输入整数n(n>0),求m使得2的m次方小于或等于n、2的m+1次方大于或等于n。 */ #include voidmain() {intm=0,t=1,n; while(_____1________); while(! (t<=n&&t*2>=n)){ _____2_____ m++; } printf("%d\n",m); } /* *在考生目录的Paper子目录下,有Modify.c文件,该文件中“/*****N*****/”的下一行中有错误, *请改正(注意: 不得加行、减行、加句、减句,否则后果自负)。 *该程序功能: 运行时输入10个数,然后分别输出其中的最大值、最小值。 */ #include voidmain() {floatx,max,min;inti; /********1*******/ for(i=0;i<=10;i++){ scanf("%f",&x); /*******2********/ if(i=1){max=x;min=x;} if(x>max)max=x; if(x } printf("%f,%f\n",max,min); } /*在考生目录的Paper子目录下,有Modify.c文件,该文件中"____N____"是根据程序功能需要填充部分, *请完成程序填充(注意: 不得加行、减行、加句、减句,否则后果自负)。 *该程序功能: *找出100~999之间所有的Armstrong数。 所谓Armstrong数是指这个3位数各位上数字的立方和等于自身。 *例如: 371=3*3*3+7*7*7+1*1*1,那么371就是Armstrong数。 */ #include #include voidmain() { inti,a,b,c; for(i=100;i<=999;i++) { a=i/100; _______1_______ c=i%10; if(________2________) printf("%disaArmstrongnumber! \n",i); } } /* *在考生目录的Paper子目录下,有Modify.c文件,该文件中"____N____"是根据程序功能 *需要填充部分,请完成程序填充(注意: 不得加行、减行、加句、减句,否则后果自负)。 *该程序功能: 输入m、n(要求输入数均大于0),输出它们的最大公约数。 */ #include voidmain() {intm,n,k; while(scanf("%d%d",&m,&n),_______1______); for(____2____;n%k! =0||m%k! =0;k--); printf("%d\n",k); } /* *在考生目录的Paper子目录下,有Modify.c文件,该文件中“/*****N*****/”的下一行中有错误, *请改正(注意: 不得加行、减行、加句、减句,否则后果自负)。 *该程序功能: 运行时若输入a、n分别为3、6,则输出下列表达式的值: *3+33+333+3333+33333+333333 */ #include voidmain() {inti,a,n;longt=0; /*********1*******/ ints=0; scanf("%d%d",&a,&n); for(i=1;i<=n;i++){ /*******2******/ t=(i-1)*10+a; s=s+t; } s=s*a; printf("%ld\n",s); } /* *在考生目录的Paper子目录下,有Modify.c文件,该文件中“/*****N*****/”的下一行中有错误, *请改正(注意: 不得加行、减行、加句、减句,否则后果自负)。 *该程序功能: 输入x和正数eps,计算多项式1-x+x*x/2! -x*x*x/3! +...的和直到末项的绝对值小于eps为止。 */ #include #include voidmain() {floatx,eps,s=1,t=1,i=1; scanf("%f%f",&x,&eps); do{ /*****1*****/ t=-t*x/++i; s+=t; /*****2*****/ }while(fabs(t) printf("%f\n",s); } /* *在考生目录的Paper子目录下,有Modify.c文件,该文件中“/*****N*****/”的下一行中有错误, *请改正(注意: 不得加行、减行、加句、减句,否则后果自负)。 *该程序功能: 运行时输入整数n,输出n各位数字之和(如n=1308则输出12,n=-3204则输出9)。 */ #include #include voidmain() {intn,s=0; scanf("%d",&n); n=fabs(n); /********1*******/ while(n>1){ s=s+n%10; /********2******/ n=n%10; } printf("%d\n",s); } /* *在考生目录的Paper子目录下,有Modify.c文件,该文件中“_____N_____/”是根据程序功能需要填充部分, *请完成程序填充(注意: 不得加行、减行、加句、减句,否则后果自负)。 *该程序功能: 求输入的整数各位数字之和,如输入234则输出9,输入-312则输出6。 */ #include #include voidmain() { intn,s=0; scanf("%d",&n); n=fabs(n);//______1______ while(n! =0){ s=s+n%10;//______2______ n=n/10; } printf("%d\n",s); } /* *在考生目录的Paper子目录下,有Modify.c文件,该文件中"____N____"是根据程序功能 *需要填充部分,请完成程序填充(注意: 不得加行、减行、加句、减句,否则后果自负)。 *该程序功能: 对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。 */ #include #include #definef(x)x*x-5*x+sin(x) voidmain() {intx;floatmax; ______1______ for(x=2;x<=10;x++) ______2______ printf("%f\n",max); } /* *在考生目录的Paper子目录下,有Modify.c文件,该文件中"____N____"是根据程序功能 *需要填充部分,请完成程序填充(注意: 不得加行、减行、加句、减句,否则后果自负)。 *该程序功能: 输入1个整数后,输出该数的位数(若输入3214则输出4,输入-23156 *则输出5)。 */ #include voidmain() {intn,k=0; scanf("%d",&n); while(_____1_____){ k++; _____2_____; } printf("%d\n",k); } /* *在考生目录的Paper子目录下,有Modify.c文件,该文件中“/*****N*****/”的下一行中有错误, *请改正(注意: 不得加行、减行、加句、减句,否则后果自负)。 *该程序功能: 运行时输入n,输出n的所有质数因子(如n=13860,则输出2、2、3、3、5、7、11)。 */ #include voidmain() {intn,i; scanf("%d",&n); /******1******/ i=1; while(n>1) if(n%i==0){ printf("%d\t",i); n/=i; } else /********2*******/ n++; } /* *在考生目录的Paper子目录下,有Modify.c文件,该文件中"____N____"是根据程序功能 *需要填充部分,请完成程序填充(注意: 不得加行、减行、加句、减句,否则后果自负)。 *该程序功能: 输入的一个小写字母,将字母循环后移5个位置后输出, *如’a’变成’f’,‘w’变成’b’。 */ #include voidmain() { charc; c=getchar(); if(______1______) c=c+5; else if(c>='v'&&c<='z') ______2______ putchar(c); } 上机题答案 /*设计程序: 数列第1项为81,此后各项均为它前1项的正平方根,统计该*/ /*数列前30项之和,并以格式"%.3f"写到考生目录中Paper子目录下的新建文件design.dat中。 */ #include #include voidmain() {FILE*p;floats=0,a=81;inti; /*begin*/ if((p=fopen("design.dat","w"))==NULL) { printf("connotopenthisfile."); exit(0); } for(i=1;i<=30;i++) { s+=a; a=sqrt(a); } fprintf(p,"%.3f",s); fclose(p); /* * * *考生在这里添加代码 * * */ } /*设计程序: 统计满足条件x*x+y*y+z*z==2000的所有解的个数,并将统计*/ /*结果以格式"%d"写入到考生目录中Paper子目录下的新建文件design.dat中*/ /*说明: 若a、b、c是1个解,则a、c、b也是1个解,等等。 */ #include voidmain() {FILE*p;intx,y,z,k=0; if((p=fopen("design.dat","w"))==NULL){ printf("can'topenthefile! \n"); exit(0); } for(x=-50;x<50;x++) for(y=-50;y<50;y++) for(z=-50;z<50;z++) if((x*x+y*y+z*z)==2000) k++; fprintf(p,"%d",k); fclose(p); /* * * *考生在这里添加代码 * * */ } /*设计程序: 计算表达式1+2! +3! +...+12! 的值,并将计算结果以格式*/ /*"%ld"写入到考生目录中Paper子目录下的新建文件design.dat中*/ #include voidmain() {FILE*p;longs=1,k=1;inti; if((p=fopen("design.dat","w"))==NULL){ printf("can'topenthefile! \n"); exit(0); } for(i=2;i<=12;i++) { k=k*i; s=s+k; } fprintf(p,"%ld",s); fclose(p); /* * * *考生在这里添加代码 * * */ } /*设计程序: 将满足条件pow(1.05,n)<1e6 /*值以格式"%d,%.0f"写入到考生目录中Paper子目录下的新建文件design.dat中。 */ #include #include voidmain() {floaty=1.05;intn=1;FILE*p; if((p=fopen("design.dat","w+"))==NULL) { printf("can'topenthefile\n"); exit(0); } while(! (y<1e6&&y*1.05>1e6)) { y*=1.05; n++; } /* * * *考生在这里添加代码 * * */ fprintf(p,"%d,%.0f",n,pow(1.05,n)); fclose(p); } /* *设计程序: z=f(x,y)=10*cos(x-4)+5*sin(y-2),若x,y取值为区间[0,10]的整数,找出 *使z取最小值的x1,y1,并将x1、y1以格式"%d,%d"写入到考生目录中Paper子目录下的 *新建文件design.dat中。 */ #include #include voidmain() { FILE*p; intx,y,x1,y1;floatz,z1; if((p=fopen("design.dat","w"))==NULL) { printf("cannotopenthisfile."); exit(0); } z1=10*cos(-4)+5*sin(-2); for(x=0;x<=10;x++) for(y=0;y<=10;y++) { z=10*cos(x-4)+5*sin(y-2); if(z { z1=z; x1=x; y1=y; } } fprintf(p,"%d,%d",x1,y1); fclose(p); /* * * *考生在这里添加代
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 控制 结构 上机 题目