c语言在一种室内游戏中,游戏王魔术师卡组2017要每位观众心里想一个三位数abc,然后游戏王魔术师卡组2017让观众心中记下acb

您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
c语言习题及答案_爱课程mooc..docx 50页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
需要金币:100 &&
c语言习题及答案_爱课程mooc.
你可能关注的文档:
··········
··········
第一章1.1题目内容:使用printf()在屏幕上输出 hello world!提示:#include ?&stdio.h&int main(){printf(&hello world!\n&);return 0;}输入格式:无输出格式:输出提示信息:&hello world!\n&输入样例:输出样例:hello world!#include &stdio.h&int main(){printf(&hello world!\n&);return 0;}1.2在屏幕上输出多行信息(3分)题目内容:使用printf()函数在屏幕上输出以下多行信息:hello world!hello hit!hello everyone!提示:在printf()函数中转义字符‘\n’表示换行。输入格式:输出格式:输出提示信息:&hello world!\n&&hello hit!\n&&hello everyone!\n&输入样例:输出样例:hello world!hello hit!hello everyone!#include &stdio.h&int main(){ printf(&hello world!\n&); printf(&hello hit!\n&); printf(&hello everyone!\n&); return 0;}1.3计算半圆弧的周长及半圆面积(3分)题目内容:编程并输出半径r=5.3的半圆弧的周长及该半圆的面积,的取值为3.14159。要求半径r和必须利用宏常量表示。输入格式:无输出格式:半圆的面积输出格式:?&Area=%f\n&半圆弧的周长输出格式:?&circumference=%f\n&输入样例:输出样例:Area=44.123632circumference=16.650427#include&stdio.h&#define PI 3.14159#define R 5.3int main(){ printf(&Area=%f\n&, R*R*PI/2); printf(&circumference=%f\n&, 2*R*PI/2); return 0;}1.4计算长方体体积(3分)题目内容:编程并输出长1.2、宽4.3、高6.4的长方体的体积。要求长方体的长、宽、高必须利用const常量表示。输入格式:无输出格式:长方体的体积输出格式:&volume=%.3f\n&输入样例:输出样例:#include&stdio.h&int main(){ const float l=1.2; const float x=4.3; const float y=6.4; printf(&volume=%.3f\n&, l*x*y); return 0;}第三章3.1计算两个数的平方和(3分)题目内容:从键盘读入两个实数,编程计算并输出它们的平方和,要求使用数学函数pow(x,y)计算平方值,输出结果保留2位小数。提示:使用数学函数需要在程序中加入编译预处理命令 #include &math.h&以下为程序的输出示例:please input x and y:1.2,3.4↙result=13.00输入格式:&%f,%f&输出格式:输入提示信息:&please input x and y:\n&输出格式:&result=%.2f\n&输入样例:输出样例:#include&stdio.h&#include&math.h&int main(){ printf(&please input x and y:\n&); float x, scanf(&%f,%f&, &x, &y); printf(&result=%.2f\n&, pow(x,2)+pow(y,2)); return 0;}3.2逆序数的拆分计算(3分)题目内容:从键盘输入一个4位数的整数,编程计算并输出它的逆序数(忽略整数前的正负号)。例如,输入-1234,忽略负号,由1234分离出其千位1、百位2、十位3、个位4,然后计算4*+2*10+1 = 4321,并输出4321。再将得到的逆序数4321拆分为两个2位数的
正在加载中,请稍后...
21页16页49页19页43页56页77页45页85页35页 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
哈尔滨工业大学C语言2016年MOOC在线测试答案
下载积分:2000
内容提示:哈尔滨工业大学C语言2016年MOOC在线测试答案
文档格式:DOC|
浏览次数:30|
上传日期: 09:26:11|
文档星级:
全文阅读已结束,如果下载本文需要使用
 2000 积分
下载此文档
该用户还上传了这些文档
哈尔滨工业大学C语言2016年MOOC在线测试答案
关注微信公众号c语言习题及答案-爱课程mooc-C语言程序设计spoc
题目内容:
使用printf()在屏幕上输出 hello world!
#include &
int main()
printf("hello world!\n");
输出格式:
输出提示信息:"hello world!\n"
输入样例:
输出样例:
hello world!
int main()
printf("hello world!\n");
在屏幕上输出多行信息(3分)
题目内容:
使用printf()函数在屏幕上输出以下多行信息:
hello world!
hello hit!
hello everyone!
在printf()函数中转义字符‘\n’表示换行。
输出格式:
输出提示信息:
"hello world!\n"
"hello hit!\n"
"hello everyone!\n"
输入样例:
输出样例:
hello world!
hello hit!
hello everyone!
int main()
& & printf("hello
world!\n");
& & printf("hello
& & printf("hello
everyone!\n");
& & return 0;
计算半圆弧的周长及半圆面积(3分)
题目内容:
编程并输出半径r=5.3的半圆弧的周长及该半圆的面积,的取值为3.14159。要求半径r和必须利用宏常量表示。
输出格式:
半圆的面积输出格式: "Area=%f\n"
半圆弧的周长输出格式: "circumference=%f\n"
输入样例:
输出样例:
Area=44.123632
circumference=16.650427
#define PI 3.14159
#define R 5.3
int main()
& & printf("Area=%f\n",
R*R*PI/2);
printf("circumference=%f\n", 2*R*PI/2);
& & return 0;
计算长方体体积(3分)
题目内容:
编程并输出长1.2、宽4.3、高6.4的长方体的体积。要求长方体的长、宽、高必须利用const常量表示。
输出格式:
长方体的体积输出格式:"volume=%.3f\n"
输入样例:
输出样例:
int main()
& & const float l=1.2;
& & const float x=4.3;
& & const float y=6.4;
& & printf("volume=%.3f\n",
& & return 0;
计算两个数的平方和(3分)
题目内容:
从键盘读入两个实数,编程计算并输出它们的平方和,要求使用数学函数pow(x,y)计算平方值,输出结果保留2位小数。
提示:使用数学函数需要在程序中加入编译预处理命令 #include
以下为程序的输出示例:
please input x and y:
1.2,3.4↙
result=13.00
输出格式:
输入提示信息:"please input x and y:\n"
输出格式:"result=%.2f\n"
输入样例:
输出样例:
int main()
& & printf("please input x
and y:\n");
& & float x,
& & scanf("%f,%f", &x,
& & printf("result=%.2f\n",
pow(x,2)+pow(y,2));
& & return 0;
逆序数的拆分计算(3分)
题目内容:
从键盘输入一个4位数的整数,编程计算并输出它的逆序数(忽略整数前的正负号)。例如,输入-1234,忽略负号,由1234分离出其千位1、百位2、十位3、个位4,然后计算4*+2*10+1
4321,并输出4321。再将得到的逆序数4321拆分为两个2位数的正整数43和21,计算并输出拆分后的两个数的平方和的结果。
以下是程序的输出示例:
result=2290
输出格式:
输入提示信息:"Input x:\n"
逆序数输出格式:"y=%d\n"
逆序数拆分后的输出格式:"a=%d,b=%d\n"
平方和的输出格式:"result=%d\n"
输入样例:
输出样例:
int main()
& & printf("Input
& & scanf("%d",
& & if(x&=0)
& & int a, b, c,
& & a=x/1000;
& & b=x/100;
& & c=x/10;
& & printf("y=%d\n",
d*1000+c*100+b*10+a);
& & printf("a=%d,b=%d\n",
d*10+c, b*10+a);
& & printf("result=%d\n",
(b*10+a)*(b*10+a)+(d*10+c)*(d*10+c));
& & return 0;
拆分英文名(3分)
题目内容:
从键盘输入某同学的英文名(小写输入,假设学生的英文名只包含3个字母。如:
tom),编写程序在屏幕上输出该同学的英文名,且首字母大写(如:
Tom)。同时输出组成该英文名的所有英文字符在26个英文字母中的序号。
以下为程序的输出示例:
input your English name:
tom↙
输出格式:
输入提示信息:"input your English name:\n"
首字母大写的英文姓名的输出格式:"%c%c%c\n"
姓名中每个字母在26个英文字母中的序号的输出格式:"%c:%d\n"
输入样例:
输出样例:
int main()
& & printf("input your
English name:\n");
& & char a, b,
& & scanf("%c%c%c", &a,
& & printf("%c%c%c\n",
a+'A'-'a', b, c);
& & printf("%c:%d\n", a,
& & printf("%c:%d\n", b,
& & printf("%c:%d\n", c,
& & return 0;
计算体指数(3分)
题目内容:
从键盘输入某人的身高(以厘米为单位,如174cm)和体重(以公斤为单位,如70公斤),将身高(以米为单位,如1.74m)和体重(以斤为单位,如140斤)输出在屏幕上,并按照以下公式计算并输出体指数,要求结果保留到小数点后2位。
假设体重为w公斤,身高为h米,则体指数的计算公式为:
以下是程序的输出示例:
input weight, height:
70,174↙
weight=140
height=1.74
输出格式:
输入提示信息:"input weight, height:\n" &
&(注意:在height和逗号之间有一个空格)
体重输出格式:"weight=%d\n"
身高输出格式:"height=%.2f\n"
体指数输出格式:"t=%.2f\n"
输入样例:
输出样例:
int main()
& & int x,
& & printf("input weight,
height:\n");
& & scanf("%d,%d", &x,
& & printf("weight=%d\n",
& & printf("height=%.2f\n",
& & printf("t=%.2f\n",
x/((y/100.0)*(y/100.0)));
& & return 0;
数位拆分v2.0(4分)
题目内容:
从键盘上输入一个4位数的整数n,编写程序将其拆分为两个2位数的整数a和b,计算并输出拆分后的两个数的加、减、乘、除和求余运算的结果。例如n=-4321,设拆分后的两个整数为a,b,则a=-43,b=-21。除法运算结果要求精确到小数点后2位。求余和除法运算需要考虑除数为0的情况,即如果拆分后b=0,则输出提示信息"the
second operater is zero!"
程序的运行结果示例1:
please input n:
sum=12,sub=12,multi=0
the second operater is zero!
程序的运行结果示例2:
please input n:
sum=-27,sub=-19,multi=92
dev=5.75,mod=-3
输出格式:
输入提示信息:"please input n:\n"
拆分后的两个整数的输出格式:"%d,%d\n"
加法、减法、乘法的输出格式:"sum=%d,sub=%d,multi=%d\n"
除法和求余的输出格式:"dev=%.2f,mod=%d\n"
除数为0的提示信息:"the second operater is zero!\n"
输入样例:
输出样例:
& & int m,x,y;
& & printf("please input
scanf("%d",&m);
& & x=m/100;
printf("%d,%d\n",x,y);
printf("sum=%d,sub=%d,multi=%d\n",x+y,x-y,x*y);
& & if (y!=0){
printf("dev=%.2f,mod=%d\n",(float)x/y,x%y);
& printf("the second operater is zero!\n");
快递费用计算(4分)
题目内容:
上海市的某快递公司根据投送目的地距离公司的远近,将全国划分成5个区域:
0区 1区 2区 3区 4区
同城 临近两省 1500公里(含)以内 1500——2500公里 2500公里以上
上海 江苏,浙江 北京,天津,河北,辽宁,河南,安微,陕西,湖北,江西,湖南,福建,广东,山西。
吉林,辽宁,甘肃,四川,重庆,青海,广西,云南,海南,内蒙古,黑龙江,贵州。 新疆,西藏。
快递费按邮件重量计算,由起重费用、续重费用两部分构成:
起重(首重)1公斤按起重资费计算(不足1公斤,按1公斤计算),超过首重的重量,按公斤(不足1公斤,按1公斤计算)收取续重费;
(2) 同城起重资费10元,续重3元/公斤;
(3) 寄往1区(江浙两省)的邮件,起重资费10元,续重4元;
寄往其他地区的邮件,起重资费统一为15元。而续重部分,不同区域价格不同:2区的续重5元/公斤,3区的续重6.5元/公斤,4区的续重10元/公斤。
编写程序,从键盘输入邮件的目的区域编码和重量,计算并输出运费,计算结果保留2位小数。
提示:续重部分不足一公斤,按1公斤计算。因此,如包裹重量2.3公斤:1公斤算起重,剩余的1.3公斤算续重,不足1公斤按1公斤计算,1.3公斤折合续重为2公斤。如果重量应大于0、区域编号不能超出0-4的范围。
程序运行结果示例1:
4,4.5↙
Price: 55.00
程序运行结果示例2:
5,3.2↙
Error in Area
Price: &0.00
用逗号分隔的两个数字,第一个表示区域、第二个是重量:"%d,%f"
输出格式:
价格的输出格式:"Price: %5.2f\n"
区域错误的提示信息:"Error in Area\n"
输入样例:
输出样例:
#include &
int main()
weight,price,x1,x2;
scanf("%d,%f",&area,&weight);
& & if (weight&=1){
& x2=ceil(weight-1);
(area&0&&area&=4){
& switch(area){
& case(0):price=x1*10+x2*3;
& case(1):price=x1*10+x2*4;
& case(2):price=x1*15+x2*5;
& case(3):price=x1*15+x2*6.5;
& case(4):price=x1*15+x2*10;
& & printf("Price:
%5.2f\n",price);
& & else {
& printf("Error in Area\n");
& printf("Price: &0.00\n");
& & return 0;
数据区间判断(5分)
题目内容:
从键盘输入一个int型的正整数n(已知:0
程序运行结果示例1:
Please enter the number:
程序运行结果示例2:
Please enter the number:
156↙
156: 100-999
程序运行结果示例3:
Please enter the number:
程序运行结果示例4:
Please enter the number:
程序运行结果示例5:
Please enter the number:
输出格式:
输入提示信息:"Please enter the number:\n"
输出的区间判断:
"%d: 100-999\n"
"%d: 10-99\n"
"%d: 0-9\n"
输入错误提示信息:"error!\n"
输入样例:
输出样例:
int main()
& &printf("Please enter the
number:\n");
& &scanf("%d",&x);
&(x&=1000&&x&=9999) printf("%d:
& &else if
&(x&=0&&x&=9) printf("%d:
0-9\n",x);
& &else if
&(x&=10&&x&=99) printf("%d:
10-99\n",x);
& &else if
&(x&=100&&x&=999) printf("%d:
100-999\n",x);
printf("error!\n");
& &return 0;
计算一元二次方程的根v2.0(3分)
题目内容:
根据下面给出的求根公式,计算并输出一元二次方程的两个实根,要求精确到小数点后4位。其中a,b,c的值由用户从键盘输入。如果用户输入的系数不满足求实根的要求,输出错误提示
"error!"。
程序运行结果示例1:
Please enter the coefficients a,b,c:
1,2,1↙
x1=-1.0000, x2=-1.0000
程序运行结果示例2:
Please enter the coefficients a,b,c:
2,6,1↙
x1=-0.1771, x2=-2.8229
程序运行结果示例3:
Please enter the coefficients a,b,c:
2,1,6↙
"%f,%f,%f"
输出格式:
输入提示信息:"Please enter the coefficients a,b,c:\n"
输出格式:"x1=%7.4f, x2=%7.4f\n"
输入错误提示信息:"error!\n"
输入样例:
输出样例:
int main()
a,b,c,x1,x2,m;
& & printf("Please enter the
coefficients a,b,c:\n");
scanf("%f,%f,%f",&a,&b,&c);
& & m=b*b-4*a*c;
& & if (m&0){
& printf("error!\n");
& x1=(-b+sqrt(m))/(2*a);
& x2=(-b-sqrt(m))/(2*a);
& printf("x1=%7.4f, x2=%7.4f\n",x1,x2);
& & return 0;
6位密码输入检测(3分)
题目内容:
从键盘输入6位仅由数字0~9组成的密码。用户每输入一个密码并按回车键后,程序给出判断:如果是数字,则原样输出该数字,并提示用户目前已经输入了几位密码,同时继续输入下一位密码;否则,程序提示"error",并让用户继续输入下一位密码。直到用户输入的密码全部是数字为止。
以下为程序的运行结果示例:
Input your password:
1, you have enter 1-bits number
6, you have enter 2-bits number
4, you have enter 3-bits number
6, you have enter 4-bits number
8, you have enter 5-bits number
2, you have enter 6-bits number
数字字符输入格式:"%c"
输出格式:
输入提示信息:"Input your password:\n"
如果输入的是数字,输出格式为:"%c, you have enter %d-bits number\n"
如果输入的不是数字,输出提示信息:"error\n"
输入样例:
输出样例:
int main()
& & int i=0;
& & printf("Input your
password:\n");
& & while(i&6)
& scanf("%c",&a);
& if (a&=48&&a&=57)
printf("%c, you have enter %d-bits number\n",a,++i);
printf("error\n");
& getchar();
& & return 0;
判断一个整型数据有几位v1.0(4分)
题目内容:
从键盘输入一个整型数据(int型),编写程序判断该整数共有几位。例如,从键盘输入整数16644,该整数共有5位。
程序运行结果示例1:
Please enter the number:
21125: 5 bits
程序运行结果示例2:
Please enter the number:
-12234: 5 bits
输出格式:
输入提示信息:"Please enter the number:\n"
判断该整数共有几位: "%d: %d bits\n"
输入样例:
输出样例:
int main(){
& & int x,y,n;
& & printf("Please enter the
number:\n");
scanf("%d",&x);
for(y=1;x/=10;y++);
& & printf("%d: %d
bits\n",n,y);
& & return 0;
检测输入数据中奇数和偶数的个数(4分)
题目内容:
从键盘输入一系列正整数,输入-1表示输入结束(-1本身不是输入的数据)。编写程序判断输入数据中奇数和偶数的个数。如果用户输入的第一个数据就是-1,则程序输出"over!"。否则。用户每输入一个数据,输出该数据是奇数还是偶数,直到用户输入-1为止,分别统计用户输入数据中奇数和偶数的个数。
程序运行结果示例1:
Please enter the number:
The total number of odd is 4
The total number of even is 2
程序运行结果示例2:
Please enter the number:
The total number of odd is 0
The total number of even is 0
输出格式:
输入提示信息:"Please enter the number:\n"
用户输入的第一个数据就是-1,输出格式:"over!\n"
奇数的输出格式:"%d:odd\n"
偶数的输出格式:"%d:even\n"
输入数据中奇数的个数统计:"The total number of odd is %d\n"
输入数据中偶数的个数统计:"The total number of even is %d\n"
输入样例:
输出样例:
int main(){
s,odd=0,even=0;
& & printf("Please enter the
number:\n");
scanf("%d",&s);
(s==-1&&odd==0&&even==0) printf("over!\n");
& & else if( s%2!=0
&&s!=-1) {printf("%d:odd\n",s);odd++;}
& & else if
(s%2==0){printf("%d:even\n",s);even++;}
& & else even+=0;
& & }while (s!=-1);
& & printf("The total number
of odd is %d\n",odd);
& & printf("The total number
of even is %d\n",even);
& & return 0;
计算球的反弹高度(4分)
题目内容:
一个球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下并反弹......,求它在第5次和第10次落地时,分别共经过了多少米?第5次和第10次反弹分别是多高?要求计算结果保留到小数点后3位。用户从键盘输入想要计算的第n次(n&=15)。
程序运行结果示例1:
程序运行结果示例2:
输出格式:
反弹次数:"%d times:\n"
第n次反弹共经过多少米:"%.3f\n"
第n次的反弹高度:"%.3f\n"
输入提示信息:"input:\n"
输入样例:
输出样例:
int main(){
& & int time,i;
each=0,sum=0,h=100;
printf("input:\n");
scanf("%d",&time);
& & for (i=0;i
& & printf("%d
times:\n",time);
printf("%.3f\n",sum-each);
printf("%.3f\n",each);
& & return 0;
程序改错v2.0(5分)
下面代码的功能是将百分制成绩转换为5分制成绩,具体功能是:如果用户输入的是非法字符或者不在合理区间内的数据(例如输入的是a,或者102,或-45等),则程序输出
error!,并允许用户重新输入,直到输入合法数据为止,并将其转换为5分制输出。目前程序存在错误,请将其修改正确。并按照下面给出的运行示例检查程序。
1.#include
2. & int main()
printf("Please input score:");
scanf("%d", &score);
8. & & & if
(score & 0 || score & 100)
printf("Input error!\n");
&else if (score &= 90)&
& & & grade =
&else if (score &= 80)
& & & grade =
&else if (score &= 70)
& & & grade =
&else if (score &= 60)
& & & grade =
& & & grade =
&printf("grade:%c\n", grade);
&return 0;
程序运行结果示例1:
Please input score:
Input error!
Please input score:
-12↙
Input error!
Please input score:
230↙
Input error!
Please input score:
程序运行结果示例2:
Please input score:
程序运行结果示例3:
Please input score:
程序运行结果示例4:
Please input score:
程序运行结果示例5:
Please input score:
输出格式:
输入提示信息:"Please input score:\n"
输入错误提示信息:"Input error!\n"
输出格式:"grade: %c\n" (注意:%c前面有一个空格)
输入样例:
输出样例:
int main()
& &int score,m=0;
& &printf("Please input
score:\n");
& m=scanf("%d", &score);
& getchar();
& if (m!=1 ||score & 0 || score & 100)
& { printf("Input error!\nPlease input
score:\n");m=0;}
& &}while (m==0);
& & if (score &=
& &grade = 'A';
& & else if (score &=
& &grade = 'B';
& & else if (score &=
& &grade = 'C';
& & else if (score &=
& &grade = 'D';
& &grade = 'E';
& & printf("grade: %c\n",
& & return 0;
编程计算 a+aa+aaa+…+aa…a(n个a)的值(4分)
题目内容:
a+aa+aaa+…+aa…a(n个a)的值,n和a的值由键盘输入。例如,当n=4,a=2,表示计算2+22+222+2222的值。
程序运行结果示例:
Input a,n:
2,4↙
输入格式: &
"%d,%d"(先输入a,后输入n)
输出格式: &
输入提示信息:"Input a,n:\n"
输出格式:"sum=%ld\n""%ld\n"
输入样例:
输出样例:
int main(){
a,n,sum=0,tem=1;
& & printf("Input
scanf("%d,%d",&a,&n);
(i=1;i&=n;i++)
& sum+=(a*tem);
& tem=tem*10+1;
printf("sum=%d\n",sum);
& & return 0;
搬砖问题(4分)
题目内容:
36块砖,36人搬,男搬4,女搬3,两个小孩抬一块砖,要求一次搬完,问男人、女人和小孩各需多少人?请用穷举法编程求解。
程序的运行结果示例:
men=3,women=3,children=30
输入格式: &&
输出格式:
"men=%d,women=%d,children=%d\n"
输入样例:
输出样例:
int main(){
& & int woman,man,
(woman=0;woman&=12;woman++)
& for (man=0;man&=9;man++)
& & kid=36-man-
(4*man+3*woman+0.5*kid==36)
printf("men=%d,women=%d,children=%d\n",man,woman,kid);
& & return 0;
编程输出某年某月有多少天(考虑闰年)。(5分)
题目内容:
从键盘输入一个年份和月份,输出该月有多少天(考虑闰年),用switch语句编程。
程序运行结果示例1:
Input year,month:
程序运行结果示例2:
Input year,month:
程序运行结果示例3:
Input year,month:
程序运行结果示例4:
Input year,month:
程序运行结果示例5:
Input year,month:
Input error!
输入格式:&
输出格式:
输入提示信息:"Input year,month:\n"
输入错误提示信息:"Input error!\n"
输出格式:
& & "31 days\n"
& & "30 days\n"
& & "29 days\n"
& & "28 days\n"
int isleap(int n);
int main(){
& & int year,
& & printf("Input
year,month:\n");
scanf("%d,%d",&year,&month);
& & switch (month){
& case 10:
& case 12: printf("31 days\n");
& case 11:printf("30 days\n");
& case 2:if (isleap(year))
& & & printf("29
& else{ printf("28 days\n");
& default : printf("Input error!\n");
& & return 0;
int isleap(int n)
(n0!=0&&n%4==0||n@0==0)
& return 1;
& return 0;
递归法计算游戏人员的年龄(4分)
题目内容:
有n个人围坐在一起,问第n个人多大年纪,他说比第n-1个人大2岁;问第n-1个人,他说比第n-2个人大2岁,.....,问第3个人,他说比第2个人大2岁;问第2个人,他说比第1个人大2岁。第1个人说自己10岁,问第n个人多大年纪。
递归函数原型:unsigned int ComputeAge(unsigned int n);
输出格式:
"The person's age is %u\n"
输入样例1:
输出样例1:
The_person's_age_is_18
输入样例2:
输出样例2:
The_person's_age_is_28
注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串!
(注意:在输出中,“_”代表空格,如果直接将上段示例粘贴到代码中,应将其替换为空格。)
unsigned int Age(unsigned int age);
int main(){
& & unsigned int n=0;
scanf("%ud",&n);
& & printf("The person's age
is %u\n",Age(n));
& & return 0;
unsigned int Age(unsigned int n)
& & if (n==1)
& return &10;
& return Age(n-1)+2;
魔术师猜数(4分)
题目内容:
在一种室内互动游戏中,魔术师要每位观众心里想一个三位数abc(a、b、c分别是百位、十位和个位数字),然后魔术师让观众心中记下acb、bac、bca、cab、cba五个数以及这5个数的和值。只要观众说出这个和是多少,则魔术师一定能猜出观众心里想的原数abc是多少。例如,观众甲说他计算的和值是1999,则魔术师立即说出他想的数是443,而观众乙说他计算的和值是1998,则魔术师说:“你算错了!”。请编程模拟这个数字魔术游戏。要求用函数实现,函数原型:int
Magic(int m);其中形参m代表观众计算的和值。
输出格式:
观众计算错误,魔术师给出的结论:"The sum you calculated is wrong!\n"
观众计算正确,魔术师给出的结论:"The number is %d\n"
输入样例1:
输出样例1:
The_sum_you_calculated_is_wrong!
输入样例2:
输出样例2:
The_number_is_443
注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串!
(注意:在输出中,“_”代表空格,如果直接将上段示例粘贴到代码中,应将其替换为空格。)
int Magic(int m);
int main(){
scanf("%d",&m);
& & if( Magic(m))
& printf("The number is %d\n",Magic(m));
& printf("The sum you calculated is
wrong!\n");
& & return 0;
int Magic(int n)
& int a,b,c;
& for (m=100;m&1000;m++){
& a=m/100;
& b=(m-a*100)/10;
& if ((a*122+b*212+c*221)==n)
& & & return
& return 0;
寻找中位数v1.0(4分)
题目内容:
编写一个函数返回三个整数中的中间数。函数原型:int mid(int a, int b, int c);
功能是返回a,b,c三数中大小位于中间的一个数。
输出格式:
"The result is %d\n"
输入样例1:
12 6 18↙
输出样例1:
The_result_is_12
输入样例2:
-9 7 -2↙
输出样例2:
The_result_is_-2
注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串!
(注意:在输出中,“_”代表空格,如果直接将上段示例粘贴到代码中,应将其替换为空格。)
int mid(int a, int b, int c);
int main(){
& & int a,b,c;
& & scanf("%d %d
%d",&a,&b,&c);
& & printf("The result is
%d\n",mid(a,b,c));
& & return 0;
int mid(int a, int b, int c)
& & int j,i,t;
& & int m[3]={a,b,c};
(i=0;i&2;i++)
& for (j=i;j&=2;j++)
(m[j]&m[i])
& & {t=m[j];
& & m[j]=m[i];
& & m[i]=t;
& & return m[1];
还原算术表达式(4分)
题目内容:
编写程序求以下算式中XYZ的值。
输入格式:&
输出格式:"X=%d,Y=%d,Z=%d\n"
输入样例:
输出样例:
X=3,Y=2,Z=1
注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串!
int mid(int a, int b, int c);
int main(){
& & int x,y,z;
(x=0;x&9;x++)
& for (y=0;y&9;y++)
(z=0;z&9;z++)
((x*100+y*110+z*12)==532)
& printf("X=%d,Y=%d,Z=%d\n",x,y,z);
& & return 0;
计算礼炮声响次数(4分)
题目内容:
在海军节开幕式上,有A、B、C三艘军舰要同时开始鸣放礼炮各21响。已知A舰每隔5秒放1次,B舰每隔6秒放1次,C舰每隔7秒放1次。假设各炮手对时间的掌握非常准确,请编程计算观众总共可以听到几次礼炮声。
输入格式:无
输出格式:
输入样例:
输出样例:
注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串!
int main()
& & int t,n=0;
(t=0;t&=140;t++)
& if (t%5==0 &&&
& & & n++;
& &if (t%6==0 &&
& & & n++;
& &if (t%7==0 &&
& & & n++;
& & printf("n=%d",n);
兔子生崽问题(4分)
题目内容:
假设一对小兔的成熟期是一个月,即一个月可长成成兔,那么如果每对成兔每个月都可以生一对小兔,一对新生的小兔从第二个月起就开始生兔子,试问从一对兔子开始繁殖,一年以后可有多少对兔子(即当年12月份总计有多少对兔子,含成兔和小兔)?请编程求解该问题。
参考答案:依题意,兔子的繁殖情况如图所示。图中实线表示成兔仍是成兔或者小兔长成成兔;虚线表示成兔生小兔。观察分析此图可发现如下规律:
(1)每月小兔对数 = 上个月成兔对数。
(2)每月成兔对数 = 上个月成兔对数 + 上个月小兔对数。
综合(1)和(2)有:每月成兔对数 = 前两个月成兔对数之和。
用fn(n=1,2,…)表示第n个月成兔对数,于是可将上述规律表示为如下递推公式:
输入格式:无
输出格式:
每个月兔子对数的输出格式: &"M"
第12个月的兔子总数的输出格式: &"\nTotal=%d\n"
输入样例:
输出样例:
注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串!
int creat(int n);
int main()
&int each,total,i;
(i=1;i&=12;i++)
& &printf("M",creat(i+1));
printf("\nTotal=%d\n",creat(13));
int creat(int n)
& & if (n==1 || n==2)
& return 1;
& return creat(n-1)+creat(n-2);
抓交通肇事犯(4分)
题目内容:
一辆卡车违犯交通规则,撞人后逃跑。现场有三人目击事件,但都没记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的,但与前两位不同;丙是位数学家,他说:四位的车号刚好是一个整数的平方。现在请根据以上线索帮助警方找出车号以便尽快破案。
[提示]:假设这个4位数的前两位数字都是i,后两位数字都是j,则这个可能的4位数
k = 1000*i + 100*i + 10*j + j
式中,i和j都在0~9变化。此外,还应使k=m*m,m是整数。由于k是一个4位数,所以m值不可能小于31。
输入格式:无
输出格式:"k=%d,m=%d\n"
输入样例:
输出样例:
注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串!
int main()
& & int a,b,c,d,i,j;
(i=31;i&100;i++)
& a=j/1000;
& b=j00/100;
& c=j0/10;
& if (a==b&&c==d&&a!=c)
printf("k=%d,m=%d\n",j,i);
& & return 0;
检验并打印幻方矩阵。(4分)
题目内容:
幻方矩阵是指该矩阵中每一行、每一列、每一对角线上的元素之和都是相等的。从键盘输入一个5&5的矩阵并将其存入一个二维整型数组中,检验其是否为幻方矩阵,并将其按指定格式显示到屏幕上。
输入格式: "%d"
输出格式:
如果是幻方矩阵,输出提示信息: "It is a magic square!\n"
矩阵元素的输出: "M"(换行使用"\n")
如果不是幻方矩阵,输出提示信息: "It is not a magic square!\n"
输入样例1:
17_24_1_8_15
23_5_7_14_16
4_6_13_20_22
10_12_19_21_3
11_18_25_2_9
(输人样例中“_”代表空格)
输出样例1:
It is a magic square!
**17**24***1**8**15
**23***5***7**14**16
***4***6**13**20**22
**10**12**19**21***3
**11**18**25***2***9
(输出样例中“*”代表空格)
输入样例2:
(输人样例中“_”代表空格)
输出样例2:
It is not a magic square!
注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串!
(输人样例中“_”代表空格,输出样例中“*”代表空格)
int judge ();
int m[5][5]={0};
int main()
for(i=0;i&5;i++)
& for (j=0;j&5;j++)
scanf("%d",&m[i][j]);
& & if (judge()){
& printf("It is a magic square!\n");
& for(i=0;i&5;i++)
(j=0;j&5;j++)
& & printf("M",m[i][j]);
printf("\n");
& printf("It is not a magic square!\n");
& & return 0;
int judge ()
& & int l=0,r=0;
s[5]={0},t[5]={0};
for (i=0;i&5;i++)
for (j=0;j&5;j++)
s[i]+=m[i][j];
t[j]+=m[i][j];
if (i==j) l+=m[i][j];
if (i+j==4) r+=m[i][j];
if (l!=r) return 0;
for (i=0;i&5;i++) if (s[i]!=l||t[i]!=l) return 0;
ISBN识别码判断(4分)
题目内容:
每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”就是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。ISBN码的首位数字表示书籍的出版语言,例如0代表英语;第一个分隔符“-”之后的三位数字代表出版社,例如670代表维京出版社;第二个分隔符后的五位数字代表该书在该出版社的编号;最后一位为识别码。&
识别码的计算方法如下:&
&首位数字乘以1加上次位数字乘以2……以此类推,用所得的结果mod
11,所得的余数即为识别码,如果余数为10,则识别码为大写字母X。例如ISBN号码0-670-82162-4中的识别码4是这样得到的:对这9个数字,从左至右,分别乘以1,2,...,9,再求和,即0&1+6&2+……+2&9=158,然后取158
mod 11的结果4作为识别码。&
&你的任务是编写程序判断输入的ISBN号码中识别码是否正确,如果正确,则仅输出“Right”;如果错误,则输出你认为是正确的ISBN号码。
程序运行结果示例1:
程序运行结果示例2:
0-123-41562-4
输入格式: 用gets()输入字符串
输入只有一行,是一个字符序列,表示一本书的ISBN号码(保证输入符合ISBN的格式要求)。
输出格式:
输入的ISBN号码的识别码正确,输出信息: "Right"
输入的ISBN号码的识别码错误,按照规定的格式,输出正确的ISBN号码(包括分隔符“-”),输出格式:"%s"
注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串!
输入样例:
输入样例:
int i=0,j=0;
int main()
& & char s[14],d[14];
& & int m[9]={0};
& & int n=0,l=0;
& & gets(s);
& & n=s[12]-48;
(i=0;s[i]!='\0';i++)
(s[i]!='-')
m[j]=s[i];
& & & j++;
(j=1;j&=9;j++)
& //printf("M",m[j-1]-48);
& l+=(m[j-1]-48)*j;
& & if (l==n)
& printf("Right");
& strncpy(d,s,12);
& d[12]=l+48;
& d[13]='\0';
& printf("%s",d);
& & return 0;
摘苹果(4分)
题目内容:
陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。假设她碰到苹果,苹果就会掉下来。
程序运行结果示例1:
100 110 130 200 140 150 156 187 197 149↙
110↙
程序运行结果示例2:
90 210 102 153 147 110 130 182 88 113↙
100↙
输入格式: "%d"
输入包括两行数据:
第1行包含10个100到200之间的整数(包括100和200,以厘米为单位),分别表示10个苹果到地面的高度。两个相邻的整数之间用一个空格隔开。
第2行只包括一个100到120之间的整数(包含100和120,以厘米为单位),表示陶陶把手伸直的时候能够达到的最大高度。
输出格式: "%d"
注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串!
输入样例:
输出样例:
int main(){
& & int m[10]={0};
& & int i,j=0,n;
(i=0;i&10;i++)
& scanf("%d",&m[i]);
scanf("%d",&n);
(i=0;i&10;i++)
& if(m[i]&=n+30)
& & & j++;
& printf("%d",j);
& & return 0;
求最大素数(4分)
题目内容:
求500以内的10个最大素数及其和,并分别输出这10个最大素数及其和。
要求10个素数按从大到小的顺序输出。
输入格式: 无
输出格式:
10个最大素数的输出格式:"m"
总和的输出格式:"\nsum=%d\n"
输入样例:
输出样例:
int judge(int n);
int main(){
& & int m[500];
& & int j,l=0,sum=0;
(j=500;j&0;j--)
& if (judge(j))
(j=0;j&10;j++)
& sum+=m[j];
& printf("m",m[j]);
printf("\nsum=%d\n",sum);
& & return 0;
int judge(int n)
(i=2;i&=sqrt((double)n);i++)
& if (n%i==0)
& & & return
& & return 1;
字符串逆序(4分)
题目内容:
用字符数组作函数参数编程,利用一个数组实现字符串(允许输入带空格的字符串)的逆序存放。要求如下:
(1)在主函数中从键盘输入字符串,字符串的最大长度为80个字符。&
&调用Inverse()函数将字符串逆序存放,然后在主函数中输出逆序后的字符串。
(2)在子函数Inverse()中实现字符串的逆序存放。函数原型为:
Inverse(char str[]);
程序运行结果示例1:
Input a string:
abcde↙
Inversed results:
程序运行结果示例2:
Input a string:
hello↙
Inversed results:
输入格式: &用gets()输入字符串
输出格式:
输入提示信息:"Input a string:\n"
输出提示信息:"Inversed results:\n"
用puts()输出字符串
注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串!
输入样例:
输出样例:
#define maxn 80
void Inverse(char str[]);
int main(){
& & char str[maxn];
& & printf("Input a
string:\n");
& & gets(str);
& & printf("Inversed
results:\n");
& & Inverse(str);
& & puts(str);
& & return 0;
void Inverse(char str[])
& & int len =
strlen(str),i;
& & for(i = 0; i & len /
& ch = str[i];
& str[i] = str[len - i - 1];
& str[len - i - 1] =
水手分椰子(4分)
题目内容:
五个水手在岛上发现一堆椰子,先由第1个水手把椰子分为等量的5堆,还剩下1个给了猴子,自己藏起1堆。然后,第2个水手把剩下的4堆混合后重新分为等量的5堆,还剩下1个给了猴子,自己藏起1堆。以后第3、4个水手依次按此方法处理。最后,第5个水手把剩下的椰子分为等量的5堆后,同样剩下1个给了猴子。请用迭代法编程计算并输出原来这堆椰子至少有多少个。
输入格式: &无
输出格式:"y=%d\n"
输入样例:
输出样例:
注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串!
check(int n){
& & for(i=0; i&5;
& if(n%5!=1)
& & & return
& n=n/5*4;
& & return 1;
int main()
& & for(i=6; i&10000;
& if(check(i))
printf("y=%d\n",i);
& & return 0;
找最值(4分)
题目内容:
从键盘任意输入10个整数,用指针变量作函数参数编程计算最大值和最小值,并返回它们所在数组中的位置。函数原型如下所示:
int FindMax(int num[], int n, int
*pMaxPos);//函数返回最大值,pMaxPos返回最大值所在的下标
int FindMin(int num[], int n, int
*pMinPos);//函数返回最小值,pMaxPos返回最小值所在的下标
程序运行结果示例:
Input 10 numbers:
-1 2 3 45 92 8 9 12 7 8↙
Max=92,Position=4,Min=-1,Position=0
输入格式: "%d"
输出格式:
提示信息:"Input 10 numbers:\n"
输出结果:"Max=%d,Position=%d,Min=%d,Position=%d\n"
输入样例:
输出样例:
注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串!
时间限制:500ms内存限制:32000kb
int FindMax(int num[], int n, int *pMaxPos);
int FindMin(int num[], int n, int *pMinPos);
int num[10];
int i,maxdex=0,mindex=0;
int main(){
& & int max,
& & int m,n;
& & printf("Input 10
numbers:\n");
(i=0;i&10;i++)
& scanf("%d",&num[i]);
max=FindMax(num,10,&m);
=FindMin(num,10,&n);
printf("Max=%d,Position=%d,Min=%d,Position=%d\n",m,max,n,min);
& & return 0;
int FindMax(int num[], int n, int *pMaxPos)
& & *pMaxPos=num[0];
& & for (i=1;i
& if (num[i]&*pMaxPos)
{*pMaxPos=num[i];
& & maxdex=i;
int FindMin(int num[], int n, int *pMinPos)
& & *pMinPos=num[0];
& & for (i=1;i
& if (num[i]&*pMinPos)
{*pMinPos=num[i];
星期查找(4分)
题目内容:
任意输入英文的星期几,通过查找如图所示的星期表,输出其对应的数字,若查到表尾,仍未找到,则输出错误提示信息。
提示:用一个二维字符数组weekDay来存放如图所示的星期表的内容(字符串)。输入待查找的字符串,然后在星期表中顺序查找与输入字符串相匹配的字符串。找到的字符串在星期表数组中的第一维下标(行号)即为题目所求。
程序运行结果示例1:
Please enter a string:
Friday↙
Friday is 5
程序运行结果示例2:
Please enter a string:
Fruday↙
Not found!
输入格式: &字符串输入采用gets()函数
输出格式:
输入提示信息:"Please enter a string:\n"
找到了,输出:"%s is %d\n"
没找到,输出:"Not found!\n"
输入样例:
输出样例:
注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串!
#define max 50
int main()
& & char week[7][10]
={"Sunday","Monday","Tuesday","Wednesday"
,"Thursday","Friday","Saturday"};
& & int i,flag=0;
& & char find[max];
& & printf("Please enter a
string:\n");
& & gets(find);
& & for (i=0; i&7;
& if (strcmp(week[i],find)==0)
& & if(flag==0)
& printf("Not found!\n");
& printf("%s is %d\n",find,i);
& & return 0;
杨辉三角形(4分)
题目内容:
编程打印具有如下形式的杨辉三角形,其中输出数据的行数n从键盘输入,并且n&=10。
程序运行结果示例1:
Input n (n&=10):
程序运行结果示例2:
Input n (n&=10):
&10 &10 & 5
&15 &20 &15
输入格式: &"%d"
输出格式:
输入提示信息:"Input n (n&=10):\n"
输出数据格式:"M"
数据换行: "\n"
输入样例:
输出样例:
注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串!
int main()
& & int i,j,a[10][10];
& & printf("Input n
(n&=10):\n");
scanf("%d",&n);
& & for(i=0; i
& for(j=0; j
a[i][0]=1;
a[i][i]=1;
& & for(i=2; i
& for(j=1; j&=i-1; j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
& & for(i=0; i
& for(j=0; j&=i; j++)
printf("M",a[i][j]);
& printf("\n");
找数组最值(4分)
题目内容:
按如下函数原型编程从键盘输入一个m行n列的二维数组,然后计算数组中元素的最大值及其所在的行列下标值。其中,m和n的值由用户键盘输入。已知m和n的值都不超过10。
void InputArray(int *p, int m, int n);
int &FindMax(int *p, int m, int n, int *pRow,
int *pCol);//函数返回最大值,pRow和pCol分别返回最大值所在的行列下标
例如,程序的1次运行结果如下:
3,4↙
Input 3*4 array:
1 2 3 4↙
5 6 7 8↙
9 0 -1 -2↙
max=9,row=2,col=0
提示信息: "Input m,n:\n"
输入数组维数:"%d,%d"
提示信息: "Input %d*%d array:\n"
输入数组元素:"%d"
输出格式:
"max=%d,row=%d,col=%d\n"
输入样例:
输出样例:
void InputArray(int (*p)[10], int m, int n);
int &FindMax(int (*p)[10], int m, int n, int
*pRow, int *pCol);
int num[10][10];
int main()
& & int m,n;
& & int max=0;
& & int row,
& & printf("Input
scanf("%d,%d",&m,&n);
& & printf("Input %d*%d
array:\n",m,n);
InputArray(num,m,n);
max=FindMax(num,m,n,pRow,pCol);
printf("max=%d,row=%d,col=%d\n",max,row,col);
& & return 0;
int &FindMax(int (*p)[10], int m, int n, int
*pRow, int *pCol)
& & int tem=p[0][0];
& & for(i=0;i
& for(j=0;j
(p[i][j]&tem){
& tem=p[i][j];
& *pRow=i;
& *pCol=j;
void InputArray(int (*p)[10], int m, int n)
& & for(i=0;i
& for(j=0;j
scanf("%d",&p[i][j]);
冒泡排序(4分)
题目内容:
采用冒泡法进行升序排序法的基本原理是:对数组中的n个数执行n-1遍检查操作,在每一遍执行时,对数组中剩余的尚未排好序的元素进行如下操作:对相邻的两个元素进行比较,若排在后面的数小于排在前面的数,则交换其位置,这样每一遍操作中都将参与比较的数中的最大的数沉到数组的底部,经过n-1遍操作后就将全部n个数按从小到大的顺序排好序了。程序的某次运行结果如下:
Input n:10↙
Input 10 numbers:2 9 3 4 0 6 8 7 5 1↙
Sorting results: & 0 & 1
& 2 & 3 & 4
& 5 & 6 & 7
输出格式:
输入数据个数提示:"Input n:"
输入数据提示:"Input %d numbers:"
输出提示:"Sorting results:"
输出格式:"M"
输入样例:
输出样例:
int num[10000];
void Swap(int *m,int *n);
int main()
& & printf("Input
scanf("%d",&n);
& & printf("Input %d
numbers:",n);
& & for(i=0;i
& scanf("%d",&num[i]);
& & for(i=0;i
& for (j=i;j
Swap(&num[j],&num[i]);
& & printf("Sorting
results:");
& & for (i=0;i
& printf("M",num[i]);
& & return 0;
void Swap(int *m,int *n)
& & tem=*m;
& & *m=*n;
删除字符串中与某字符相同的字符(4分)
题目内容:
在字符串中删除与某字符相同的字符,要求用字符数组作函数参数。
程序运行结果示例:
Input a string:
hello, my friend!↙
Input a character:
Results:hello, my friend
字符串输入用 gets()函数
单个字符输入用 getchar()函数
输出格式:
输入字符串的提示信息: "Input a string:\n"
输入单个字符的提示信息: "Input a character:\n"
输出格式: "Results:%s\n"
输入样例:
输出样例:
#define maxn 1000
void delete_string(char str[],char ch);
int main()
m[maxn],l[maxn];
& & printf("Input a
string:\n");
& & gets(m);
& & printf("Input a
character:\n");
& & n=getchar();
delete_string(m,n);
printf("Results:%s\n",m);
& & return 0;
void delete_string(char str[],char ch)
& & int i,j;
& & for(i=j=0; str[i]!='\0';
& if(str[i]!=ch)
str[j++]=str[i];
& & str[j]='\0';
求最大数和最小数的最大公约数(4分)
题目内容:
从键盘输入10个正整数,求出最大数,最小数,以及他们的最大公约数。要求用数组实现。
程序运行结果示例1:
Input 10 numbers:
15 23 56 87 94 105 78 19 22 43↙
maxNum=105
程序运行结果示例2:
Input 10 numbers:
33 1 2 9 8 7 5 4 0 10↙
输入格式: "%d"
输出格式:
输入提示信息:"Input 10 numbers:\n"
最大数输出格式:"maxNum=%d\n"
最小数输出格式:"minNum=%d\n"
最大公约数输出格式:"%d"
输入样例:
输出样例:
#define maxn 10
void Swap(int *m,int *n);
int gcd(int x,int y);
int i,j=0;
int num[maxn];
int main()
& & int max,
& & printf("Input 10
numbers:\n");
& & for (i=0; i&10;
& scanf("%d",&num[i]);
& & for(i=0; i&9;
& for (j=i; j&10; j++)
Swap(&num[j],&num[i]);
& & max=num[9];
& & min=num[0];
printf("maxNum=%d\nminNum=%d\n",max,min);
(max!=0&&min!=0)
& printf("%d",gcd(max,min));
& & return 0;
void Swap(int *m,int *n)
& & tem=*m;
& & *m=*n;
int gcd(int x,int y)
& return gcd(y,x);
& & if(x%y!=0)
& return gcd(y,x%y);
百万富翁的换钱计划(4分)
题目内容:
有一天,一位百万富翁遇到一个陌生人,陌生人找他谈一个换钱的计划,陌生人对百万富翁说:“我每天给你10万元,而你第一天只需给我1分钱,第二天我仍给你10万元,你给我2分钱,第三天我仍给你10万元,你给我4分钱……。你每天给我的钱是前一天的两倍,直到满一个月(30天)为止”,百万富翁很高兴,欣然接受了这个契约。请编程计算在这一个月中陌生人总计给百万富翁多少钱,百万富翁总计给陌生人多少钱。
输出格式:
输出百万富翁给陌生人的钱: "to Stranger: %.2f yuan\n"
输出陌生人给百万富翁的钱: "to Richman: %.2f yuan\n"
输入样例:
输出样例:
int main()
& & double
&each1=100000,each2=0.01,sum1=0,sum2=0;
(i=1;i&=30;i++)
& sum1+=each1;
& sum2+=each2;
& each2*=2;
& printf("to Stranger: %.2f yuan\n",sum2);
& printf("to Richman: %.2f yuan\n",sum1);
用计数控制的循环实现正数累加求和(4分)
题目内容:
输入一些整数,编程计算并输出其中所有正数的和,输入负数时不累加,继续输入下一个数。输入零时,表示输入数据结束。要求最后统计出累加的项数。
程序运行结果示例:
Input a number:
Input a number:
Input a number:
Input a number:
Input a number:
Input a number:
Input a number:
sum=10,count=4
输入格式: &"%d"
输出格式:
输入提示信息: "Input a number:\n"
输出格式: "sum=%d,count=%d\n"
输入样例:
输出样例:
#define m 100000
int main()
n,sum=0,count=0;
& printf("Input a number:\n");
& if(n&0){
}while(scanf("%d",&n)==1 && n!=0);
printf("sum=%d,count=%d\n",sum,count);
& & return 0;
平方根表(4分)
题目内容:
按如下格式输出100以内整数的平方根表。
输入格式: &无
输出格式:
输出表头: &"}"
输出每行的开头数字: "%d"
输出第m行n列中的值:"%7.3f"
输入样例:
输出样例:
int main()
& & for(i=0; i&10;
& printf("}", i);
& & putchar('\n');
& & for (i=0; i&10;
& printf("%d", i);
& for (j=0; j&10; j++)
printf("%7.3f", sqrt(10*i+j));
& printf("\n");
& & return 0;
最大公约数(4分)
题目内容:
按照如下函数原型编写子函数计算正整数a和b的所有公约数。第一次调用,返回最大公约数。以后只要再使用相同参数调用,每次返回下一个小一些的公约数。无公约数时,函数CommonFactors()返回-1,主函数中不输出任何信息。
函数原型: int CommonFactors(int a, int b)
程序运行结果示例1:
Input a and b:
100,50↙
Common factor 1 is 50
Common factor 2 is 25
Common factor 3 is 10
Common factor 4 is 5
Common factor 5 is 2
Common factor 6 is 1
程序运行结果示例2:
Input a and b:
7,-3↙
输入格式: &"%d,%d"
输出格式:
输出公约数: "Common factor %d is %d\n"
输入提示信息:"Input a and b:\n"
输入样例:
输出样例:
int MaxCommonFactor(int a,int b);
int CommonFactors(int a, int b);
int main()
& & int a,b;
& & printf("Input a and
scanf("%d,%d",&a,&b);
& & if (a&0
& CommonFactors(a, b);
& & return 0;
int CommonFactors(int a, int b)
& & int *gcd=(int
*)malloc(sizeof(int)*512);
& & int index = 1;
& & b = MaxCommonFactor(a,
& & for(i=b; i&0;
& if((a%i == 0) && (b%i == 0))
gcd[index++] =
& & gcd[0] =
& & for (i=1; i
& printf("Common factor %d is
%d\n",i,gcd[i]);
int MaxCommonFactor(int &a,int b)
& & if(a&=0||b&=0)
return -1;
& & while(b!=0)
& temp=a%b;
说明:本答案为参考答案,非原创
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。}

我要回帖

更多关于 暴风魔术师游戏王 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信