哈尔滨工业大学C语言2016年MOOC在线测试答案

更新时间:2024-06-01 21:02:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

本答案仅供参考,请勿用于商业用途或进行未经同意的转载

第3周 1

计算两个数的平方和(3分)

题目内容:

从键盘读入两个实数,编程计算并输出它们的平方和,要求使用数学函数pow(x,y)计算平方值,输出结果保留2位小数。

提示:使用数学函数需要在程序中加入编译预处理命令 #include

以下为程序的运行结果示例: please input x and y: 1.2,3.4↙ result=13.00

输入格式: \输出格式:

输入提示信息:\输出格式:\

为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。 时间限制:500ms内存限制:32000kb

#include

int main() {

float x,y,S,D;

printf(\ scanf(\

S = pow(x,2); D = pow(y,2);

printf(\ }

return 0;

2

逆序数的拆分计算(3分)

题目内容:

从键盘输入一个4位数的整数,编程计算并输出它的逆序数(忽略整数前的正负号)。例如,输入-1234,忽略负号,由1234分离出其千位1、百位2、十位3、个位4,然后计算4*1000+3*100+2*10+1 = 4321,并输出4321。再将得到的逆序数4321拆分为两个2位数的正整数43和21,计算并输出拆分后的两个数的平方和的结果。

以下是程序的运行结果示例: Input x: -1234↙ y=4321 a=43,b=21 result=2290

输入格式: \输出格式:

输入提示信息:\逆序数输出格式:\

逆序数拆分后的输出格式:\平方和的输出格式:\

为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。 时间限制:500ms内存限制:32000kb

#include main() {

int x,b0,b1,b2,b3,y,a,b,c;

printf(\ scanf(\

x = (int)fabs(x); /*取x绝对值*/

b3 = x/1000; /*取x千位*/ b2 = (x-b3*1000)/100; /*取x百位*/ b1 = (x-b3*1000-b2*100)/10; /*取x十位*/ b0 = x; /*取x个位*/

y = b3+b2*10+b1*100+b0*1000; printf(\

a = b0*10+b1; b = b2*10+b3; c = (a*a)+(b*b);

printf(\ printf(\ }

return 0;

3

拆分英文名(3分)

题目内容:

从键盘输入某同学的英文名(小写输入,假设学生的英文名只包含3个字母。如: tom),编写程序在屏幕上输出该同学的英文名,且首字母大写(如: Tom)。同时输出组成该英文名的所有英文字符在26个英文字母中的序号。

以下为程序的运行结果示例: Input your English name: tom↙ Tom t:20 o:15 m:13

输入格式: \输出格式:

输入提示信息:\首字母大写的英文姓名的输出格式:\

姓名中每个字母在26个英文字母中的序号的输出格式:\

为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。 时间限制:500ms内存限制:32000kb

#include

int main() {

char x,y,z,A;

A=x-32; /*首字母改为大写*/ printf(\

printf(\ printf(\ printf(\ }

printf(\ scanf(\

4

计算体指数(3分)

题目内容:

从键盘输入某人的身高(以厘米为单位,如174cm)和体重(以公斤为单位,如70公斤),将身高(以米为单位,如1.74m)和体重(以斤为单位,如140斤)输出在屏幕上,并按照以下公式计算并输出体指数,要求结果保留到小数点后2位。

假设体重为w公斤,身高为h米,则体指数的计算公式为:

以下是程序的运行结果示例: Input weight, height: 70,174↙ weight=140 height=1.74 t=23.12

输入格式: \输出格式:

输入提示信息:\ (注意:在height和逗号之间有一个空格) 体重输出格式:\身高输出格式:\

体指数输出格式:\

为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。 时间限制:500ms内存限制:32000kb

#include

int main() {

float A,b; int x,y;

printf(\

A=(float)y/100;

printf(\

b=(float)x/(A*A);

printf(\ }

printf(\ scanf(\

第4周 1

数位拆分v2.0(4分)

题目内容:

从键盘上输入一个4位数的整数n,编写程序将其拆分为两个2位数的整数a和b,计算并输出拆分后的两个数的加、减、乘、除和求余运算的结果。例如n=-4321,设拆分后的两个整数为a,b,则a=-43,b=-21。除法运算结果要求精确到小数点后2位。求余和除法运算需要考虑除数为0的情况,即如果拆分后b=0,则输出提示信息\

程序的运行结果示例1: Please input n: 1200↙

12,0

sum=12,sub=12,multi=0 The second operater is zero!

程序的运行结果示例2: Please input n: -2304↙ -23,-4

sum=-27,sub=-19,multi=92 dev=5.75,mod=-3

输入格式: \输出格式:

输入提示信息:\拆分后的两个整数的输出格式:\

加法、减法、乘法的输出格式:\除法和求余的输出格式:\除数为0的提示信息:\

为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。 时间限制:500ms内存限制:32000kb

#include main() {

float c;

int x,b0,b1,b2,b3,a,b,d;

b3 = x/1000; /*取x千位*/ b2 = (x-b3*1000)/100; /*取x百位*/ b1 = (x-b3*1000-b2*100)/10; /*取x十位*/ b0 = x; /*取x个位*/

a=b3*10+b2; /*拆分输入的整数为两段*/ b=b1*10+b0;

printf(\

printf(\ /*输出两段数的加,减,乘*/

if(0==b)

printf(\ scanf(\

{

printf(\ } else {

c=(float)a/b; d=a%b;

printf(\ } }

return 0;

2

快递费用计算(4分)

题目内容:

上海市的某快递公司根据投送目的地距离公司的远近,将全国划分成5个区域:

0区 同城 2区 1500公里(含)以临近两省 内 北京,天津,河北,辽宁,河南,安微,江苏,浙陕西,湖北,江西,江 湖南,福建,广东,山西。 1区 3区 4区 1500——2500公里 2500公里以上 吉林,辽宁,甘肃,四川,重庆,青海,广西,云南,海南,新疆,西藏。 内蒙古,黑龙江,贵州。 上海

快递费按邮件重量计算,由起重费用、续重费用两部分构成: (1)

起重(首重)1公斤按起重资费计算(不足1公斤,按1公斤计算),超过首重的重量,按公斤

(不足1公斤,按1公斤计算)收取续重费; (2) (3) (4)

同城起重资费10元,续重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

输入格式:

用逗号分隔的两个数字,第一个表示区域、第二个是重量:\

输出格式:

价格的输出格式:\区域错误的提示信息:\

为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。 时间限制:500ms内存限制:32000kb

#include #include #define eps 1E-5 main() {

float b,c,d; int a;

scanf(\ switch(a) {

case 0:

if (b<=1+eps) {

c=10.0; } else {

d=ceil(b-1.0); c=d*3+10.0; }

printf(\ break;

case 1:

if (b<=1+eps)

{

c=10.0; } else {

d=ceil(b-1.0); c=d*4+10.0; }

printf(\ break;

case 2:

if (b<=1+eps) {

c=15.0; } else {

d=ceil(b-1.0); c=d*5+15.0; }

printf(\ break;

case 3:

if (b<=1+eps) {

c=15.0; } else {

d=ceil(b-1.0); c=d*6.5+15; }

printf(\ break;

case 4:

if (b<=1+eps) {

c=15.0; } else {

d=ceil(b-1.0); c=d*10+15.0; }

printf(\ break;

default:

printf(\ printf(\ 0.00\ } }

return 0;

3

数据区间判断(6分)

题目内容:

从键盘输入一个int型的正整数n(已知:0

程序运行结果示例1: Please enter the number: 2563↙

2563: 1000-9999

程序运行结果示例2: Please enter the number: 156↙ 156: 100-999

程序运行结果示例3: Please enter the number: 36↙ 36: 10-99

程序运行结果示例4: Please enter the number: 3↙

88↙ grade: B

程序运行结果示例3:

Please input score: 73↙ grade: C

程序运行结果示例4:

Please input score: 65↙ grade: D

程序运行结果示例5:

Please input score: 27↙ grade: E

输入提示信息:\输入格式: \输出格式:

输入错误时的提示信息:\

输出格式:\注意:%c前面有一个空格)

为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。 时间限制:500ms内存限制:32000kb

#include int main() {

int score=-1; char grade;

printf(\ scanf(\

while(score < 0 || score > 100) {

getchar();

printf(\

printf(\

scanf(\ }

if (score >= 90) grade = 'A'; else if (score >= 80) grade = 'B'; else if (score >= 70) grade = 'C'; else if (score >= 60) grade = 'D'; else

grade = 'E';

printf(\ return 0; }

2

编程计算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↙ sum=2468

输入提示信息:\

输入格式: \(先输入a,后输入n) 输出格式: \

为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。 时间限制:500ms内存限制:31kb

#include main() {

long term=0,sum=0; int a,i,n;

printf(\ scanf(\ for(i=1;i<=n;i++) {

term=term*10+a; sum =sum+term; }

printf(\}

3

搬砖问题(4分)

题目内容:

n块砖( 27

程序的运行结果示例1: Input n(27

men=0,women=4,children=32

程序的运行结果示例2: Input n(27

men=3,women=3,children=30

程序的运行结果示例3: Input n(27

men=2,women=14,children=20 men=7,women=7,children=22 men=12,women=0,children=24

输入提示: \

输入格式: \

输出格式:\

为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。

#include int main() {

int a;

int man, wman, child;

printf(\ scanf(\

for (man = 0; man <= 15; man++) {

for (wman = 0; wman <= 20; wman++) {

child = 36 - wman - man;

if (a == child / 2 + 3 * wman + 4 * man && child % 2 == 0) {

printf(\ } } } }

4

编程输出某年某月有多少天(考虑到闰年)。(5分)

题目内容:

从键盘输入一个年份和月份,输出该月有多少天(考虑闰年),用switch语句编程。

程序运行结果示例1: Input year,month: 2015,3↙ 31 days

程序运行结果示例2: Input year,month: 2015,4↙ 30 days

程序运行结果示例3: Input year,month: 2016,2↙ 29 days

程序运行结果示例4: Input year,month: 2014,2↙ 28 days

程序运行结果示例5: Input year,month: 2015,13↙ Input error!

输入提示信息:\ 输入格式: \ 输出格式:

输入错误时的提示信息:\ 输出格式: \ \ \ \

为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。 时间限制:500ms内存限制:32000kb

#include int main( ) {

int y,m;

printf(\ scanf(\

if (m< 0||m>12) {printf(\ switch (m) {

case 1: case 3: case 5: case 7: case 8: case 10:

case 12:

printf(\ break; case 4: case 6: case 9: case 11:

printf(\ break; case 2:

if (y0==0) y/=100;

if (y%4==0) printf(\ else printf(\ }

return 0; }

第七周

1

递归法计算游戏人员的年龄(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); 提示:

计算年龄的递归公式为:

输入格式: \

输出格式: \

输入样例1: 5↙

输出样例1:

The_person's_age_is_18 输入样例2: 10↙

输出样例2:

The_person's_age_is_28

注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串! (注意:在输出中,“_”代表空格,如果直接将上段示例粘贴到代码中,应将其替换为空格。) 时间限制:500ms内存限制:32000kb

#include #include

unsigned int ComputeAge(unsigned int n);

unsigned int ComputeAge(unsigned int n) {

int a;

if (n == 1) a = 10; else

a = ComputeAge(n - 1) + 2; return a; }

int main() {

unsigned int n,f; scanf(\ f=ComputeAge(n);

printf(\

return 0; }

2.魔术师猜数(4分)

题目内容:

在一种室内互动游戏中,魔术师要每位观众心里想一个三位数abc(a、b、c分别是百位、十位和个位数字),然后魔术师让观众心中记下acb、bac、bca、cab、cba五个数以及这5个数的和值。只要观众说出这个和是多少,则魔术师一定能猜出观众心里想的原数abc是多少。例如,观众甲说他计算的和值是1999,则魔术师立即说出他想的数是443,而观众乙说他计算的和值是1998,则魔术师说:“你算错了!”。请编程模拟这个数字魔术游戏。要求用函数实现,函数原型为:

int Magic(int m);

其中形参m代表观众计算的和值。

输入格式:\ 输出格式:

观众计算错误,魔术师给出的结论:\ 观众计算正确,魔术师给出的结论:\ 输入样例1: 1998↙ 输出样例1:

The_sum_you_calculated_is_wrong! 输入样例2: 1999↙ 输出样例2: The_number_is_443

注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串! (注意:在输出中,“_”代表空格,如果直接将上段示例粘贴到代码中,应将其替换为空格。)

参考:

#include #include #include #include #include //函数的声明 void magician(); void decision(); void mainmenu(); void exitgame(); void hellp(); void playerchoice();

void mainPage()//主界面 {

int i;

printf(\系统正在加载中,请稍printf(\—__— zzzzzzzzzzz电脑不给力,请稍等一

等......______vvvvvv______\\t\\n\会......—__—zzzzzzzzzzzz\\t\\n\

**\\n\ **\\n\ **\\n\ **\\n\ **\\n\ **\\n\ **\\n\ } int a; int b; int c;

for(i=0;i<80;i++) {

printf(\Sleep(200);

} printf(\—— 终于结束了╮(╯▽╰)╭\\t\\t\\t\\n\system(\system(\

printf(\ *****************************************************************\\n\printf(\ *******************************************************************\\n\

printf(\ ** printf(\ ** printf(\ ** 第五组 printf(\ ** 成员:林可、王丽婕、张婷婷、许春雪、 printf(\ ** 裴月娥、钱鹏辰 printf(\ ** printf(\ ** printf(\ *******************************************************************\\n\printf(\ *****************************************************************\\n\

int sum;//计算的和值 int e;//三位数的值

void main ()//主函数 {

}

mainPage(); mainmenu();

/*acb+bca+bac+cab+cba+abc=sum-abc 222(a+b+c)=sum-abc 本代码的核心思想 */

void mainmenu()//系统主菜单 {

printf(\

@@@@@Menu@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\\n\

printf(\

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\\n\

scanf(\getchar(); fflush(stdin); if(select==1) { }

else if(select==2)

exitgame();

printf(\ 1 退出\\n\printf(\ 2 进入游戏\\n\printf(\ 3 游戏帮助\\n\

printf(\请输入相应的数字,进入不同的模块: \\n\

int select; while(1) {

printf(\

Menu%%%%%%%%%%%%%%%%%%%%%%%%\\n\

}

}

{ }

else if(select==3) { } else { }

printf(\选择非法,请重新输入进行再次选择\\n\hellp(); playerchoice();

void viewer()//玩家是观众 {

g=a+b+c; f=e+(222*g); if (f==sum) {

if(sum"2==0) {

m=(sum/222)/5; e=222*m; printf(\

printf(\

int sum;//键盘输入的和值 int f; int m;

printf(\请输入得到的数:\\n\scanf(\e=222-sum"2; b=(e/10); c=e;

int e;//得出的三位数 int g;

a=e/100;

else

}

}

} else { }

e=e+222; a=e/100; b=(e/10); c=e; f=e+(222*g); printf(\

void playerchoice()//选择玩家的身份 { }

void hellp() {

int select;

printf(\输入 1 你是魔术师 \\n\printf(\输入 2 你是观众 \\n\

printf(\请输入相应的数字,进入不同的模块: \\n\scanf(\getchar(); fflush(stdin); if(select==1) { }

else if(select==2) { } else { }

printf(\选择非法,请重新输入进行再次选择\\n\viewer(); magician();

\\n\ }

system(\

printf(\欢 迎 寻 求 帮 助$$$$$$$$$$$$$$$$\\n\printf(\

printf(\游戏规则:输入1,表示退出游戏 @@@\\n\printf(\ 输入2,表示游戏系统设置 @@@\\n\printf(\ 输入3,表示游戏帮助 @@@\\n\printf(\ 输入4,表示游戏开始 @@@\\n\printf(\输入2时,进行下一轮选择:\\n\printf(\ 输入2 你是观众 \\n\printf(\

printf(\游 戏 简 要 说 明!!!!!!!!!!!!!\\n\printf(\

printf(\ 在一种室内互动游戏中,魔术师要每位观众心里想一个3位数abcprintf(\和个位数字),然后魔术师让观众心中记下acb bac bca cab cba 5个数以printf(\只要观众说出这个和值多少,则魔术师一定能猜出观众心里想的原数abcprintf(\

printf(\本游戏玩家自由选择所担任的职业,即魔术师或观众,根据提示完成游戏printf(\结 束 帮 助$$$$$$$$$$$$$$$$$$$$$\\n\

//退出

printf(\ 输入1 你是魔术师 \\n\

(a.b.c分别是百位.十位\\n\及这5个数的和值。\\n\是多少。\\n\

void exitgame() {

char select;

printf(\你确定退出游戏吗?退出请输入Y或y,继续点任意键\\n\ scanf(\ getchar(); fflush(stdin);

if(select=='Y'||select=='y') { }

printf(\欢迎再来游戏\\n\ exit(1);

}

else { }

return;

void magician()//玩家是魔术师 { }

int l,f;

srand(time(0)); a=rand()%9+1; b=rand(); c=rand(); e=100*a+10*b+c;

//acb+bac+bca+cab+cba=122a+212b+211c=f f=122*a+212*b+221*c; printf(\

printf(\请输入你得到的三位数: \\n\scanf(\if (e==l) else

printf(\魔术失败了,下次努力\\n\

printf(\恭喜你,魔术成功了 \\n\

答案:

#include int is(int i,int k) {

int j=0,ii=i;

while (ii){j+=ii;ii/=10;} if (j*222==k+i) return 1; else return 0; }

int main() {

int i,j,k,sum;

scanf(\

k=0;

for (i=100;i<=999;i++)

if (is(i,sum)) {k=i;break;}

if (k==0) printf(\ else printf(\

return 0; }

3

寻找中位数v1.0(4分)

题目内容:

编写一个函数返回三个整数中的中间数。函数原型为: int mid(int a, int b, int c); 函数功能是返回a,b,c三数中大小位于中间的那个数。 输入格式: \

输出格式:\ 输入样例1: 12 6 18↙ 输出样例1: The_result_is_12 输入样例2: -9 7 -2↙ 输出样例2: The_result_is_-2

注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串! (注意:在输出中,“_”代表空格,如果直接将上段示例粘贴到代码中,应将其替换为空格。) 时间限制:500ms内存限制:32000kb

#include #include int mid(int a,int b,int c);

int main() {

int a, b, c ,sum;

scanf(\ sum=mid(a,b,c);

printf(\ }

int mid(int a,int b,int c) {

if ( a >= b )

if ( a >= c ) return (b>=c ? b : c); else return a; else

if ( b >= c ) return (a>=c ? a : c); else return b; }

还原算术表达式(4分)

题目内容:

编写程序求以下算式中XYZ的值,其中两数XYZ与YZZ相加的和n(99

程序运行结果示例1: Input n(n<1000): 532↙ X=3,Y=2,Z=1

程序运行结果示例2: Input n(n<1000): 977↙ Invalid

输入格式: \ 输出格式:

输入提示:\Input n(n<1000):\\n\ 输出格式:\ 计算不成功(无解)的输出提示:\

注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串! 时间限制:500ms内存限制:31kb

#include //XYZ+YZZ=N int main(void) {

int a; int x = 0; int y = 0; int z = 0;

printf(\ scanf(\

for (x = 1; x < 10; x++) {

for (y = 0; y < 10; y++) {

for (z = 0; z < 10; z++) {

if (x * 100 + y * 10 + z + y * 100 + z * 10 + z == a) {

printf(\ } else {

printf(\ exit(0);

} } } }

return 0; }

#include int main() {

int x,y,z;

for (x=0;x<=9;x++) for (y=0;y<=9;y++) for (z=0;z<=9;z++)

if (x*100+y*110+z*12==532)

printf(\

return 0; }

第8周

1

计算礼炮声响次数(4分)

题目内容:

在海军节开幕式上,有A、B、C三艘军舰要同时开始鸣放礼炮各21响。已知A舰每隔5秒放1次,B舰每隔6秒放1次,C舰每隔7秒放1次。假设各炮手对时间的掌握非常准确,请编程计算观众总共可以听到几次礼炮声。

输入格式:无 输出格式:\n=%d\

注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串! 时间限制:500ms内存限制:32000kb

#include main() {

int n = 0, t;

for (t = 0; t <= 20 * 7; t++) {

if (t % 5 == 0 && t <= 20 * 5) {

n++; continue; }

if (t % 6 == 0 && t <= 20 * 6) {

n++; continue; }

if (t % 7 == 0) {

n++; } }

printf(\}

2

兔子生崽问题(4分)

题目内容:

假设一对小兔的成熟期是一个月,即一个月可长成成兔,那么如果每对成兔每个月都可以生一对小兔,一对新生的小兔从第二个月起就开始生兔子,试问从一对兔子开始繁殖,n(n<=12)月以后可有多少对兔子(即当年第n月份总计有多少对兔子,含成兔和小兔)?请编程求解该问题,n的值要求从键盘输入。

参考答案:依题意,兔子的繁殖情况如图所示。图中实线表示成兔仍是成兔或者小兔长成成兔;虚线表示成兔生小兔。观察分析此图可发现如下规律: (1)每月小兔对数 = 上个月成兔对数。

(2)每月成兔对数 = 上个月成兔对数 + 上个月小兔对数。 综合(1)和(2)有:每月成兔对数 = 前两个月成兔对数之和。

用fn(n=1,2,…)表示第n个月成兔对数,于是可将上述规律表示为如下递推公式:

程序运行示例:

Input n(n<=12): 10↙

1 2 3 5 8 13 21 34 55 89 Total=89

输入格式:\输出格式:

输入提示:\每个月兔子对数的输出格式: \

第12个月的兔子总数的输出格式: \

注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串! 时间限制:500ms内存限制:32000kb

#include int main()

{

int n; int i,a[13]; a[1]=1;a[0]=1;

printf(\ scanf(\ for (i=2;i<=n;i++) a[i]=a[i-1]+a[i-2]; for (i=1;i<=n;i++)

printf(\ printf(\

return 0; }

3

抓交通肇事犯(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\

注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串! 时间限制:500ms内存限制:32000kb

#include int main() {

int i,m,ans;

for (m=31;m<=100;m++) {

ans=m*m;

if (((ans/100)==0)&&((ans0)==0)) printf(\

本文来源:https://www.bwwdw.com/article/kxn6.html

Top