趣味编程题整理及答案范文合集

时间:2019-05-13 05:08:49下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《趣味编程题整理及答案》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《趣味编程题整理及答案》。

第一篇:趣味编程题整理及答案

1.抓交通肇事犯

一辆卡车违反交通规则,撞人后逃跑。现场有三人目击事件,但都没有记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的,但与前两位不同; 丙是数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索求出车号。*问题分析与算法设计

按照题目的要求造出一个前两位数相同、后两位数相同且相互间又不同的整数,然后判断该整数是否是另一个整数的平方。*程序说明与注释 #include #include int main(){ int i,j,k,c;for(i=1;i<=9;i++)/*i:车号前二位的取值*/ for(j=0;j<=9;j++)/*j:车号后二位的取值*/ if(i!=j)/*判断二位数字是否相异*/ { k=i*1000+i*100+j*10+j;/*计算出可能的整数*/ for(c=31;c*c

Lorry _No.is 7744 2.百钱百鸡问题

中国古代数学家张丘建在他的《算经》中提出了著名的“百钱买百鸡问题”:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何? *问题分析与算法设计

设鸡翁、鸡母、鸡雏的个数分别为x,y,z,题意给定共100钱要买百鸡,若全买公鸡最多买20只,显然x的

值在0~20之间;同理,y的取值范围在0~33之间,可得到下面的不定方程: 5x+3y+z/3=100 x+y+z=100 所以此问题可归结为求这个不定方程的整数解。由程序设计实现不定方程的求解与手工计算不同。在分析确定方程中未知数变化范围的前提下,可通过对

未知数可变范围的穷举,验证方程在什么情况下成立,从而得到相应的解。*程序说明与注释 #include int main(){ int x,y,z,j=0;printf(“Folleing are possible plans to buy 100 fowls with 100 Yuan.n”);

for(x=0;x<=20;x++)/*外层循环控制鸡翁数*/ for(y=0;y<=33;y++)/*内层循环控制鸡母数y在0~33变化*/ { z=100-x-y;/*内外层循环控制下,鸡雏数z的值受x,y的值的制约*/ if(z%3==0&&5*x+3*y+z/3==100)/*验证取z值的合理性及得到一组解的合理性*/ printf(“%2d:cock=%2d hen=%2d chicken=%2dn”,++j,x,y,z);} } 3.三色球问题

若一个口袋中放有12个球,其中有3个红的。3个白的和6个黒的,问从中任取8个共有多少种不同的颜色搭 配?

*问题分析与算法设计

设任取的红球个数为i,白球个数为j,则黒球个数为8-i-j,根据题意红球和白球个数的取值范围是0~3,在红球和白球个数确定的条件下,黒球个数取值应为8-i-j<=6。*程序说明与注释 #include int main(){ int i,j,count=0;printf(“ RED BALL WHITE BALL BLACKBALLn”);printf(“…………………………………………..n”);for(i=0;i<=3;i++)/*循环控制变量i控制任取红球个数0 ̄3*/ for(j=0;j<=3;j++)/*循环控制变量j控制任取白球个数0 ̄3*/ if((8-i-j)<=6)printf(“ %2d: %d %d %dn”,++count,i,j,8-i-j);} 4.马克思手稿中的数学题

马克思手稿中有一道趣味数学问题:有30个人,其中有男人、女人和小孩,在一家饭馆吃饭花了50先令;每个男人花3先令,每个女人花2先令,每个小孩花1先令;问男人、女人和小孩各有几人? *问题分析与算法设计

设x,y,z分别代表男人、女人和小孩。按题目的要求,可得到下面的方程: x+y+z=30(1)3x+2y+z=50(2)用方程程序求此不定方程的非负整数解,可先通过(2)-(1)式得: 2x+y=20(3)由(3)式可知,x变化范围是0~10 *程序说明与注释 #include int main(){

int x,y,z,count=0;printf(“ Men Women Childrenn”);printf(“........................................n”);for(x=0;x<=10;x++){ y=20-2*x;/*x定值据(3)式求y*/ z=30-x-y;/*由(1)式求z*/ if(3*x+2*y+z==50)/*当前得到的一组解是否满足式(2)*/ printf(“ %2d: %d %d %dn”,++count,x,y,z);} } 5.新娘和新郞

三对情侣参加婚礼,三个新郞为A、B、C,三个新娘为X、Y、Z。有人不知道谁和谁结婚,于是询问了六位新人中的三位,但听到的回答是这样的:A说他将和X结婚;X说她的未婚夫是C;C说他将和Z结婚。这人听后知道他们在开玩笑,全是假话。请编程找出谁将和谁结婚。

*问题分析与算法设计 将A、B、C三人用1,2,3表示,将X和A结婚表示为“X=1”,将Y不与A结婚表示为“Y!=1”。按照题目中的叙述可以写出表达式: x!=1 A不与X结婚 x!=3 X的未婚夫不是C z!=3 C不与Z结婚

题意还隐含着X、Y、Z三个新娘不能结为配偶,则有: x!=y且x!=z且y!=z 穷举以上所有可能的情况,代入上述表达式中进行推理运算,若假设的情况使上述表达式的结果均为真,则假设情况就是正确的结果。*程序说明与注释 #include int main(){ int x,y,z;for(x=1;x<=3;x++)/*穷举x的全部可能配偶*/ for(y=1;y<=3;y++)/*穷举y的全部可能配偶*/ for(z=1;z<=3;z++)/*穷举z的全部可能配偶*/ if(x!=1&&x!=3&&z!=3&&x!=y&&x!=z&&y!=z)/*判断配偶是否满足题意*/ { printf(“X will marry to %c.n”,'A'+x-1);/*打印判断结果*/ printf(“Y will marry to %c.n”,'A'+y-1);printf(“Z will marry to %c.n”,'A'+z-1);} } *运行结果

X will marry to B.(X与B结婚)Y will marry to C.(Y与C结婚)

Z will marry to A.(Z与A结婚)6.委派任务

某侦察队接到一项紧急任务,要求在A、B、C、D、E、F六个队员中尽可能多地挑若干人,但有以下限制条件:

1)A和B两人中至少去一人; 2)A和D不能一起去;

3)A、E和F三人中要派两人去; 4)B和C都去或都不去; 5)C和D两人中去一个; 6)若D不去,则E也不去。问应当让哪几个人去? *问题分析与算法设计

用A、B、C、D、E、F六个变量表示六个人是否去执行任务的状态,变量的值为1,则表示该人去;变量的值为0,则表示该人不参加执行任务,根据题意可写出表达式: a+b>1 A和B两人中至少去一人; a+d!=2 A和D不能一起去;

a+e+f==2 A、E、F三人中要派两人去; b+c==0或b+c==2 B和C都去或都不去; c+d==1 C和D两人中去一个;

d+e==0或d==1 若D不去,则E也不去(都不去;或D去E随便)。

上述各表达式之间的关系为“与”关系。穷举每个人去或不去的各种可能情况,代入上述表达式中进行推理运算,使上述表达式均为“真”的情况就是正确的结果。*程序说明与注释 #include int main(){ int a,b,c,d,e,f;for(a=1;a>=0;a--)/*穷举每个人是否去的所有情况*/ for(b=1;b>=0;b--)/*1:去 0:不去*/ for(c=1;c>=0;c--)for(d=1;d>=0;d--)for(e=1;e>=0;e--)for(f=1;f>=0;f--)if(a+b>=1&&a+d!=2&&a+e+f==2 &&(b+c==0||b+c==2)&&c+d==1 &&(d+e==0||d==1)){ printf(“A will%s be assigned.n”,a?“":”not“);printf(”B will%s be assigned.n“,b?”“:”not“);printf(”C will%s be assigned.n“,c?”“:”not“);printf(”D will%s be assigned.n“,d?”“:”not“);printf(”E will%s be assigned.n“,e?”“:”not“);printf(”F will%s be assigned.n“,f?”“:”not“);}

} *运行结果

A will be assigned.(去)B will be assigned.(去)C will be assigned.(去)D will not be assigned.(不去)E will not be assigned.(不去)F will be assigned.(去)7.50.谁在说谎

张三说李四在说谎,李四说王五在说谎,王五说张三和李四都在说谎。现在问:这三人中到底谁说的是真话,谁说的是假话? *问题分析与算法设计

分析题目,每个人都有可能说的是真话,也有可能说的是假话,这样就需要对每个人所说的话进行分别判断。假设三个人所说的话的真假用变量A、B、C表示,等于1表示该人说的是真话; 表示这个人说的是假话。由题目可以得到: *张三说李四在说谎 张三说的是真话:a==1&&b==0 或 张三说的是假话:a==0&&b==1 *李四说王五在说谎 李四说的是真话:b==1&&c==0 或 李四说的是假话:b==0&&c==1 *王五说张三和李四都在说谎 王五说的是真话:c==1&&a+b==0 或 王五说的是假话:c==0&&a+b!=0 上述三个条件之间是“与”的关系。将表达式进行整理就可得到C语言的表达式:(a&&!b||!a&&b)&&(b&&!c||!b&&c)&&(c&&a+b==0||!c&&a+b!=0)穷举每个人说真话或说假话的各种可能情况,代入上述表达式中进行推理运算,使上述表达式均为“真”的情况就是正确的结果。*程序说明与注释 #include int main(){ int a,b,c;for(a=0;a<=1;a++)for(b=0;b<=1;b++)for(c=0;c<=1;c++)if((a&&!b||!a&&b)&&(b&&!c||!b&&c)&&(c&&a+b==0||!c&&a+b!=0)){ printf(”Zhangsan told a %s.n“,a?”truth“:”lie“);printf(”Lisi told a %s.n“,b?”truch“:”lie“);printf(”Wangwu told a %s.n“,c?”truch“:”lie“);} } *运行结果

Zhangsan told a lie(张三说假话)Lisi told a truch.(李四说真话)Wangwu told a lie.(王五说假话)

8.黑与白

有A、B、C、D、E五人,每人额头上都帖了一张黑或白的纸。五人对坐,每人都可以看到其它人额头上的纸的颜色。五人相互观察后,A说:“我看见有三人额头上帖的是白纸,一人额头上帖的是黑纸。” B说:“我看见其它四人额头上帖的都是黑纸。” C说:“我看见一人额头上帖的是白纸,其它三人额头上帖的是黑纸。” D说:“我看见四人额头上帖的都是白纸。” E什么也没说。

现在已知额头上帖黑纸的人说的都是谎话,额头帖白纸的人说的都是实话。问这五人谁的额头是帖白纸,谁的额头是帖黑纸? *问题分析与算法设计

假如变量A、B、C、D、E表示每个人额头上所帖纸的颜色,0 代表是黑色,1 代表是白色。根据题目中A、B、C、D四人所说的话可以总结出下列关系: A说: a&&b+c+d+e==3||!a&&b+c+d+e!=3 B说: b&&a+c+d+e==0||!b&&a+c+d+e!=0 C说: c&&a+b+d+e==1||!c&&a+b+d+e!=1 D说: d&&a+b+c+e==4||!d&&a+b+c+e!=4 穷举每个人额头所帖纸的颜色的所有可能的情况,代入上述表达式中进行推理运算,使上述表达式为“真”的情况就是正确的结果。*程序说明与注释 #include int main(){ int a,b,c,d,e;for(a=0;a<=1;a++)/*黑色:0 白色:1*/ for(b=0;b<=1;b++)/*穷举五个人额头帖纸的全部可能*/ for(c=0;c<=1;c++)for(d=0;d<=1;d++)for(e=0;e<=1;e++)if((a&&b+c+d+e==3||!a&&b+c+d+e!=3)&&(b&&a+c+d+e==0||!b&&a+c+d+e!=0)&&(c&&a+b+d+e==1||!c&&a+b+d+e!=1)&&(d&&a+b+c+e==4||!d&&a+b+c+e!=4)){ printf(”A is pasted a piece of %s paper on his forehead.n“, a?”white“:”black“);printf(”B is pasted a piece of %s paper on his forehead.n“, b?”white“:”black“);printf(”C is pasted a piece of %s paper on his forehead.n“, c?”white“:”black“);printf(”D is pasted a piece of %s paper on his forehead.n“, d?”white“:”black“);printf(”E is pasted a piece of %s paper on his forehead.n“, e?”white“:”black“);

} } *运行结果

A is pasted a paper of black paper on his forehead.(黑)B is pasted a paper of black paper on his forehead.(黑)C is pasted a paper of white paper on his forehead.(白)D is pasted a paper of black paper on his forehead.(黑)E is pasted a paper of white paper on his forehead.(白)9.诚实族和说谎族是来自两个荒岛的不同民族,诚实族的人永远说真话,而说谎族的人永远说假话。迷语博士是个聪明的人,他要来判断所遇到的人是来自哪个民族的。迷语博士遇到三个人,知道他们可能是来自诚实族或说谎族的。为了调查这三个人是什么族的,博士分别问了他们的问题,这是他们的对话: 问第一个人:“你们是什么族?”,答:“我们之中有两个来自诚实族。”第二个人说:“不要胡说,我们三个人中只有一个是诚实族的。”第三个人听了第二个人的话后说:“对,就是只有一个诚实族的。”

请根据他的回答判断他们分别是哪个族的。*问题分析与算法设计

假设这三个人分别为A、B、C,若说谎其值为0,若诚实,其值为1。根据题目中三个人的话可分别列出:

第一个人: a&&a+b+c==2||!a&&a+b+c!=2 第二个人: b&&a+b+c==1||!b&&a+b+c!=1 第三个人: c&&a+b+c==1||!c&&a+b+c!=1 利用穷举法,可以很容易地推出结果。*程序说明与注释 #include int main(){ int a,b,c;for(a=0;a<=1;a++)/*穷举每个人是说谎还是诚实的全部情况*/ for(b=0;b<=1;b++)/*说谎:0 诚实:1*/ for(c=0;c<=1;c++)if((a&&a+b+c==2||!a&&a+b+c!=2)/*判断是否满足题意*/ &&(b&&a+b+c==1||!b&&a+b+c!=1)&&(c&&a+b+c==1||!c&&a+b+c!=1)){ printf(”A is a %s.n“,a?”honest“:”lier“);/*输出判断结果*/ printf(”B is a %s.n“,b?”honest“:”lier“);printf(”C is a %s.n“,c?”honest“:”lier“);} } *运行结果

A is a lier(说谎族)B is a lier(说谎族)C is a lier(说谎族)

10. 角谷猜想

日本一位中学生发现一个奇妙的“定理”,请角谷教授证明,而教授无能为力,于是产生角谷猜想。猜想的内容是:任给一个自然数,若为偶数除以2,若为奇数则乘3加1,得到一个新的自然数后按照上面的法则继续演算,若干次后得到的结果必然为1。请编程验证。*问题分析与算法设计

本题是一个沿未获得一般证明的猜想,但屡试不爽,可以用程序验证。

题目中给出的处理过程很清楚,算法不需特殊设计,可按照题目的叙述直接进行证。*程序说明与注释 #include int main(){ int n,count=0;printf(”Please enter number:“);scanf(”%d“,&n);/*输入任一整数*/ do{ if(n%2){ n=n*3+1;/*若为奇数,n乘3加1*/ printf(”[%d]:%d*3+1=%dn“,++count,(n-1)/3,n);} else { n/=2;/*若为偶数n除以2*/ printf(”[%d]: %d/2=%dn“,++count,2*n,n);} }while(n!=1);/*n不等于1则继续以上过程*/ } 11.常胜将军

现有21根火柴,两人轮流取,每人每次可以取走1至4根,不可多取,也不能不取,谁取最后一楰火柴谁输。请编写一个程序进行人机对弈,要求人先取,计算机后取;计算机一方为“常胜将军”。*问题分析与算法设计

在计算机后走的情况下,要想使计算机成为“常胜将军”,必须找出取 关键。根据本题的要求枷以总结出,后走一方取子的数量与对方刚才一步取子的数量之和等于,就可以保证最后一个子是留给先取子的那个人的。

据此分析进行算法设计就是很简单的工作,编程实现也十分容易。*程序说明与注释 #include int main(){ int a=21,i;printf(”Game begin:n“);while(a>0){

do{ printf(”How many stick do you wish to take(1~%d)?“,a>4?4:a);scanf(”%d“,&i);}while(i>4||i<1||i>a);/*接收正在确的输入*/ if(a-i>0)printf(” %d stick left in the pile.n“,a-i);if((a-i)<=0){ printf(” You have taken the last stick.n“);printf(” * * * You lose!nGame Over.n“);/*输出取胜标记*/ break;} else printf(” Compute take %d stick.n“,5-i);/*输出计算机取的子数*/ a-=5;printf(” %d stick left in the pile.n",a);} } 12.

第二篇:VB编程题及答案

1定义一个下标上界为10整型数组,并用随机函数为其赋值(值处于[0,100]之间),计算数组中所有偶数的和。Private Sub Command1_Click()Randomize Dim a%(10)Dim i%, s% For i = 0 To 10 a(i)= 101 * Rnd()Next For i = 0 To 10 If a(i)Mod 2 = 0 Then s = s + a(i)End If Next Print “所有偶数的和为”, s 2 设 S=35,C=0.3,编写程序,计算并输出下面级数的部分和。结果取小数点后面7位。C/1!-C^3/3!+C^5/5!-„ +(-1)^(S-1)*C^(2*S-1)/(2*S-1)!+ „

参考答案如下:

Private Sub Command1_Click()

Dim n As Integer

Dim x As Double

x = 0.3

Dim item As Double

Dim sum As Double

Dim fac As Double

For n = 1 To 35

fac = 1

Dim i As Integer

For i = 1 To 2 * n1)* x ^(2 * n1

If n Mod i = 0 Then

isprime = False

Exit Function

End If

Next

isprime = True End Function Private Sub Command1_Click()

Dim i As Integer

Dim sum As Long

For i = 1000 To 2000

If isprime(i)= True Then

sum = sum + i

End If

Next

Text1.Text = “sum=” & sum End Sub 'sum= 419684 13.编写一个函数,求某个数的阶乘。

调用该函数计算22!。

Public Function fact(ByVal n As Integer)As

Long

Dim i As Integer, f As Long

f = 1

For i = 1 To n

f = f * i

Next i

fact = f End Function Private Sub Command1_Click()

Dim m As Integer, i As Integer, s As Long

m = InputBox(“输入一个正整数:

”)

s = fact(m)

MsgBox(s)End Sub ‘479001600 14.编写子过程,计算并输出3000-4000之间的素数之和C与其中最小的素数MIN。

Private Sub Command1_Click()

Dim sum, i, min As Integer

min=0

For i = 3000 To 4000

Dim isprime As Boolean = True

Dim j As Integer

For j = 2 To i1)* n *(n + 1)

sum = sum + item

n = n + 2

Loop While Abs(sum)<= 100

MsgBox(sum)End Sub 'sum=-68 编写一个函数,其功能为求两个数的最大公约数。

Public Function

gcd(ByVal m As Integer, ByVal n As Integer)As Integer

Dim i As Integer If m > n Then Dim t As Integer t = m: m = n: n = t End If For i = m To 1 Step-1 If m Mod i = 0 And n Mod i = 0 Then gcd = i Exit Function

End If

Next End Function

20.用InputBox输入一个年份,判断该年份是否是平年,若是则输出“Yes”,否则输出“No”。

Dim year As Integer year = Val(InputBox(“"))If(year Mod 400 = 0)Or(year Mod 4 = 0 And year Mod 100<>0)

Then MsgBox(”No“)Else

MsgBox(”Yes“)

End If 输入两个整数m、n,编写程序使得

m>=n,并输出m、n的值。

Dim m, n As Integer

m = Val(InputBox(”“))n = Val(InputBox(”“))

If m < n Then Dim t As Integer t = m : m = n : n = t End If

MsgBox(”m=“ & m & ”;“ & ”n=“ & n)

22求下面级数前n项的和S,在求和

过程中,当某项(注意,该项参与求和)的绝对值小于0.0001 时求和终止。结果取 5 位小数。

1-1/3+1/5-1/7+1/9-1/11+ „ +(-1)^(n-1)*1/(2n-1)+ „

Private Sub Command1_Click()

Dim n As Integer

Dim item As Double

Dim sum As Double

i = Do While True

item =(-1)^(i1)

整数:”)sum = sum + item If Abs(item)< 0.0001 Then Exit Do Else i = i + 1 End If Loop

MsgBox(Format(sum, “0.0000”))

End Sub '

sum=0.78545 编写一个函数,其功能为判断一个3位正整数是否是“水仙花数”。(“水仙花数”是指各位数字的立方和与该数相等,如153=1^3+5^3+3^3,153就是水仙花数。)

Public Function Panduan(ByVal x As Integer)As Boolean

Dim a As Integer, b As Integer, c As Integer

a = x 100

b =(x Mod 100)10

c = x Mod 10

If x = a ^ 3 + b ^ 3 + c ^ 3 Then

Panduan = True

Else

Panduan = False

End If

End Function Private Sub Command1_Click()

Dim i As Integer

i = InputBox(“输入一个3位正

MsgBox(Panduan(i))End Sub 定义一个下标上界为10整型数组,并为其赋值(值处于[0,100]之间),计算数组中所有不小于60的数据的和。

Dim a(10), i, sum As Integer

For i = 0 To 10

a(i)= Int(Rnd()* 101)

Next

For i = 0 To 10

If a(i)〉=60 Then

sum = sum + a(i)

End If

Next

print sum

25.编写程序,求下面级数前n项的和s=1/1!-1/2!+1/3!-1/4!+....+(-1)^(n-1)*1/n!+.....。

'求和过程当某一项的绝对值小于0.0001时结束(注意,该项参与求和),计算并输出所求的s,要求结果保留6位小数。Private Sub Command1_Click()

Dim m As Double, n As Long, s As Double, f As Integer

s = 0: n =-1: m = 1: f = 1 Do While 1 / m >= 0.0001 m = m * f f = f + 1 n =-n

s = s + n / m Loop

s = Format(s, ”0.000000“)Print s End Sub

26输入一个四位数,分别输出它的个位数字,是十位数字,百位数字,千位数字。Private Sub Command1_Click()Dim a%, j%, k%, i%, m% a = InputBox(”请输入一个四位整数“)j = a 1000 k = a 100 Mod 10 i = a 10 Mod 10 m = a Mod 10 Print ”个位数字;“;m Print ”十位数字;“;i Print ”百位数字;“;k Print ”千位数字;“;j End Sub 6.计算sum=2!+4!+6!+...+10!Private Sub Command1_Click()Dim a%, i% Sum = 0 i = 1: a = 1 Do a = 2 * i If i Mod 2 = 0 Then Sum = Sum + a End If i = i + 1 Loop While i <= 10 Print Sum End Sub

27编写程序,计算并输出下面级数前n项(n=20)中奇数项的和。1*2*3-2*3*4+3*4*5-4*5*6+....+(-1)^(n-1)*n*(n+1)*(n+2)+...Private Sub Command1_Click()Dim s!, i% For i = 1 To 20 Step 2 s = s + i *(i + 1)*(i + 2)Next MsgBox(s)End Sub

28随机输出一个小写字母。Private Sub Command1_Click()Dim a As String Randomize

a = Chr(Int(97 + 26 * Rnd))MsgBox(a)End Sub、29编写程序,计算并输出下面级数前n项(n=50)中偶数项的和。s=1*2+2*3+3*4+4*5+....+n*(n+1)+.....Private Sub Command1_Click()Dim s!, i%

For i = 2 To 50 Step 2 s = s + i *(i + 1)Next

MsgBox(s)End Sub

30斐波那契数列是由计算某类动物繁殖增长量而提出的。数列的前两项是1、1,以后的每一项都是其相邻前两项的和。编写程序求:数列前30项和。

Private Sub Command1_Click()Dim a&, b&, c&, i%

a = 1: b = 1: c = 2: Sum = 0 For i = 1 To 28 c = a + b a = b b = c

Sum = Sum + c Next

MsgBox(Sum)End Sub

31输入三个数a、b、c,编写程序使得a<=b<=c,并输出a、b、c的值。Private Sub Command1_Click()Dim a%, b%, c%, t%

a = Val(InputBox(”请输入a的值!“))b = Val(InputBox(”请输入b的值!“))c = Val(InputBox(”请输入c的值!“))If a > b Then t = b b = a a = t End If

If a > c Then t = a a = c c = t End If If b > c Then t = b b = c c = t End If

Print a, b, c End Sub 32编写程序,设n=20,x=3.4,计算并输出S(n)的值,要求结果保留5位小数。S(n)=Inx/x+In2x/x^2+In3x/x^3+.....+In(n*x)/x^n+.....Private Sub Command1_Click()Dim x#, i% Dim S(20)As Double n = 20 x = 3.4 For i = 1 To 20 S(20)= S(20)+ Log(i * x)/(x ^ i)Next Print Format(S(20), ”0.00000“)End Sub

33输入任意三个数 找出其中最大的数 Private Sub Command1_Click()Dim a!, b!, c!, Max!a = Text1.Text b = Text2.Text c = Text3.Text Max = a If b > Max Then Max = b If c > Max Then Max = c Text4.Text = Max End Sub

输出1到100之间的素数 Print 1;2;a = 3 While a <= 100 i = 2

While i < a

If a Mod i = 0 Then

i = a

End If

i = i + 1

Wend

If i = a Then

Print a;

End If a = a + 1 Wend、34打印斐波那契数列20项 Private sub form_click()A=0 B=1

Text1.text=text1.text&str(A)&str(B)&chr(13)& Chr(10)For i=1 to 9 A=A+B B=A+B

Text1.text=text1.text&str(A)&str(B)&chr(13)& Chr(10)Next i

35判定素数

A=val(inputbox(“input a”))For i=2 to a

If(a mod i=0)then Exit for End if Next i

If i

36求sum

1+(1+2)+(1+2+3)………….n = Val(Text1.Text)sum = 0

For i = 1 To n sum1 = 0 For j = 1 To i sum1 = sum1 + j Next j sum = sum + sum1 Next i Text2.Text = sum

37求50名学生的平均成绩并统计高于平均分的人

Dim c(1 to 50)as integer Dim p!,n%,i% P=0 For i=1 to 50 C(i)=inputbox(“请输入第”&i&”位学生的成绩”

P=p+c(i)Next i P=p/50 N=0 For i= 1 to 50 If c(i)>p then n=n+1 Next i Print “平均分=”;”高于平均分的人数=”;n

设C=0.3,编写程序,计算并输出下面级数的部分和。结果取小数点后面7位。C/1!-C^3/3!+C^5/5!-„ +(-1)^(S-1)*C^(2*S-1)/(2*S-1)!+ „ Dim n as integer Dim x as integer X=0.3 Dim item as double Dim sum as double Dim fact as double For n=1 to 35 Fact=1 Dim I as integer For I =1 to 2*n-1 Fact=fact*i Next Item =(-1)^(n-1)*x^(2*n-1)/fact Sum=sum+item Next Sum=int(sum*10000000+0,.5)/100000000

Magbox

39已知A、B为整数A和B的立方和为1000求所有的A、B。

Dim x ,y as integer For x=0 to10 For y=0 to10

If x^3+y^3=1000 then Msgbox(x=;y=)

定义一个下标上界为30的单精度数组,设置好其初值(值处于[20,90]),计算数组中所有元素的均值。Dim array(30)as single For i=0

Array(i)=20+int(rnd()*71)Next i

Dim sum% For i=0 to 30

Sum=sum+array(i)Next i

Print sum 31 End sum

41求下面级数前S项中奇数项的和sum。在求和过程中,以第一个奇数项的数值大于 10000 的项为末项。1!-2!+3!-4!+ „ +(-1)^(S-1)*S!+ „

Dim n as integer Dim item double Dim I as integer Dim sum as double Dim abs as double Do while true Item =1 For I =1 to n Item = item*1 Next i

Sum=sum +item N=n+2

If abs(item)>10000 then Exit do Else N=n+2 End if Loop Msgbox(sum)

42计算sum=1/1!+1/2!+1/3!+....+1/10!Private Sub Command1_Click()Dim m As Integer, n As Long, s As Double n = 1 s = 0 For m = 1 To 10 n = n * m s = s + 1 / n Next Print s

42求从[j,s]区间内的素数及素数和(这里需要用到三个文本框和2个按钮)'Private Sub Command1_Click()Dim n%, i%, j%, s% Sum = 0 j = Val(Text1.Text())s = Val(Text2.Text())For n = j To s For i = 2 To n1 Then Sum = Sum + n: Print n Next n Text3.Text = Sum End Sub Private Sub Command2_Click()Cls Text1.Text = ”“ Text2.Text = ”“ Text3.Text = ”“ Text1.SetFocus End Sub 43某分段函数描述如下:(1)当x为偶数时,y的值为x的二分之一。(2)当x为奇数时,y的值为x的二倍。Private Sub Command1_Click()Dim x!, y!x = Val(InputBox(”请输入X的值!“))

If x Mod 2 = 0 Then y = x / 2 Else y = 2 * x MsgBox(y)End If End Sub

44随机输出一个小写字母。Private Sub Command1_Click()Dim a As String Randomize

a = Chr(Int(97 + 26 * Rnd))MsgBox(a)End Sub、45编写程序,计算并输出下面级数前n项(n=50)中偶数项的和。s=1*2+2*3+3*4+4*5+....+n*(n+1)+.....Private Sub Command1_Click()Dim s!, i%

For i = 2 To 50 Step 2 s = s + i *(i + 1)Next

MsgBox(s)End Sub

46编写程序,设n=20,x=3.4,计算并输出S(n)的值,要求结果保留5位小数。S(n)=Inx/x+In2x/x^2+In3x/x^3+.....+In(n*x)/x^n+.....Private Sub Command1_Click()Dim x#, i%

Dim S(20)As Double n = 20 x = 3.4

For i = 1 To 20

S(20)= S(20)+ Log(i * x)/(x ^ i)Next

Print Format(S(20), ”0.00000“)End Sub

47设 S=35,C=0.3,编写程序,计算并输出下面级数的部分和。结果取小数点后面7位。C/1!-C^3/3!+C^5/5!-„ +(-1)^(S-1)*C^(2*S-1)/(2*S-1)!+ „

参考答案如下:

Private Sub Command1_Click()

Dim n As Integer

Dim x As Double

x = 0.3

Dim item As Double

Dim sum As Double

Dim fac As Double

For n = 1 To 35

fac = 1

Dim i As Integer

For i = 1 To 2 * n1)* x ^(2 * n1

fac = fac * i

Next

item =(-1)^(n1)/ fac

sum = sum + item

Next

sum = Int(sum * 10000000 + 0.5)/ 10000000

MsgBox(sum)End Sub

'

sum = 0.479426

49编写子过程,计算并输出3000-4000之间的素数之和C与其中最小的素数MIN。

Private Sub Command1_Click()

Dim sum, i, min As Integer

min=0

For i = 3000 To 4000

Dim isprime As Boolean = True

Dim j As Integer

For j = 2 To ia(1))*(pa(3)))MsgBox(s)Else MsgBox(”不能构成三角形")End If End Sub

第三篇:c语言编程题答案

六、编程题参考答案

1.编程,统计在所输入的50个实数中有多少个正数、多少个负数、多少个零。#include “stdio.h” #define N 50 void main(){ float x;unsigned int s1,s2,s3,i;s1=s2=s3=0;for(i=1;i<=N;i++){ scanf(“%f”,&x);if(x<0)s1++;else if(x==0)s2++;else s3++;} printf(“负数%u个,零%u个,正数%u个n”,s1,s2,s3);}

2.编程,计算并输出方程 X2+Y2=1989 的所有整数解。#include “stdio.h” void main(){ int x,y;for(x=-45;x<=45;x++){ y=-45;while(y<=45){ if(x*x+y*y==1989)printf(“%d*%d+%d*%d=%dn”,x,x,y,y,1989);y++;} } }

3.编程,输入一个10进制正整数,然后输出它所对应的八进制、十六进制数。#include “stdio.h” void main(){ unsigned int x;printf(“请输入一个十进制正整数:”);scanf(“%u”,&x);printf(“%d=八进制数 %o=十六进制数%xn”,x,x,x);}

4.编程,找出1000以内的所有完数,并输出其因子。#include “stdio.h” void main(){ int i,j,s=1;for(i=1;i<=1000;i++,s=1){ for(j=2;j<=i/2;j++)if(i%j==0)s+=j;// 求 i的因子和

if(s==i){ printf(“%d=1”,i);// 如果i 是完数则输出其各因子

for(j=2;j<=i/2;j++)if(i%j==0)printf(“+%d”,j);printf(“n”);} } }

5.输入一个正整数,输出它的所有质数因子。#include “stdio.h” void main(){ int m,i=2;printf(“请输入一个整数:”);scanf(“%d”,&m);while(m!=1)if(m%i==0){ printf(“%d ”,i);m/=i;} else i++;printf(“n”);}

6.输入20个整数,输出其中能被数组中其它元素整除的那些数组元素。#include “stdio.h” #define N 20 void main(){ int a[N],i,j;for(i=0;i

7.输入两个数组(数组元素个数自定),输出在两个数组中都出现的元素。#include “stdio.h” #define NA 6 #define NB 8 void main(){ float a[NA],b[NB];int i,j;for(i=0;i

8.输入两个数组(数组元素个数自定),输出在两个数组中都不出现的元素。#include “stdio.h” #define NA 6 #define NB 8 void main(){ float a[NA],b[NB];int i,j;for(i=0;i

9.编程,将字符数组S2中的全部字符拷贝到字符数组S1中。#include “stdio.h” void main(){ char s1[20],s2[]=“Good morning!”;int i=0;while((s1[i++]=s2[i])!='');printf(“%sn”,s1);}

10.给定年份year,判别该年份是否闰年(定义一个宏以判别该年份是否闰年)。#include #define f(year)year%4==0&&year%100!=0||year%400==0 void main(){ int y;printf(“请输入年份:”);scanf(“%d”,&y);if(f(y))printf(“%d 年为闰年n”,y);else printf(“%d 年不是闰年n”,y);}

11.输入一行小写字母后,或输出原文,或将字母变成其下一字母(a变成b、b变成c、„、x变成y、y变成z、z变成a)输出,用条件编译方法实现以上选择。#include #define MAX 80 #define SWITCH 1 void main(){ char str[MAX];int i=0;printf(“请输入文本行:n”);scanf(“%s”,str);#if(SWITCH)while(str[i]!='')if(str[i]>='a'&&str[i]<='z')if(str[i]=='z')str[i]='a';else str[i]++;i++;#endif printf(“%sn”,str);}

12.编写函数,处理n行n列维数组:将每一行的元素同除以该行上绝对值最大的元素。

#include “stdio.h” #include “math.h” void div(float** a,int n){ int i,j;float x;for(i=0;ifabs(x))x=*(*(a+i)+j);for(j=0;j

{ float b[3][3]={{1,2,3},{4,5,6},{7,8,9}};int i,j;float* c[3];for(i=0;i<3;i++)c[i]=b[i];div(c,3);for(i=0;i<3;i++){ for(j=0;j<3;j++)printf(“%f ”,b[i][j]);printf(“n”);} }

13.编写函数,求任意阶多项式 a0+a1X+a2X2+...+anXn 的值并返回多项式的值。#include “stdio.h” float f1(float* a,float x,int n){ int i;float t=1,y=0;for(i=0;i

14.设计一个函数,使给出一个数的原码,能得到该数的补码。

#include // 假定sizeof(int)为2;

unsigned int getbit(unsigned int value)//第1位为0表示数的原码,{ if(value>>15)return(value^0x7fff)+1;//其补码即其原码;若value else return value;//右移15位后为1,表示value是负数的原码,负数

} //的补码为原码按位取反(第1位不变)后加1。

void main(){ unsigned int y=0x800c,k;k=getbit(y);printf(“%xn”,k);}

15.编写函数,求m行、n列的二维数组全体元素中负数的个数。#include int sum(float **a,int m,int n){ int i,j;int y=0;for(i=0;i

{ float b[2][3]={{-1,2,-3},{4,-5,-6}};int i;float* c[2];for(i=0;i<2;i++)c[i]=b[i];printf(“%dn”,sum(c,2,3));} 16.编写函数,返回在一个整数组中出现次数最多的数及其出现次数。#include void fun(float *a,int n,int *k,float *x){ int i,j,y;*k=0;for(i=0;i*k){ *k=y;*x=*(a+i);} } return;} void main()// 函数引用示例

{ float c[10]={0,4,2,4,3,2,4,-3,1.5,7.6},t;int m;fun(c,10,&m,&t);// 若说明float *t;int *m;printf(“元素%f出现次数为%dn”,t,m);// 引用为 fun(c,10,m,t)将

} // 产生悬挂指针的错误,即t、m不只指向确定的存储单元。

17.编一个程序,打入月份号,输出该月的英文月名,要求用指针数组处理。#include void main(){ char *month_name[12]={“January”,“February”,“March”,“April”, “May”, “June”,“July”,“August”,“September”,“October”, “Novenber”,“December”};int n;printf(“请输入月份号:”);scanf(“%d”,&n);if(n<1||n>12)printf(“月份号输入错误!n”);else printf(“%d月的英文表示是%sn”,n,month_name[n-1]);}

18.编写递归函数,将输入的以“?”结束的字符串按与输入相反的顺序输出。#include void pline(){ char ch;if((ch=getchar())!='?'){ pline();putchar(ch);} return;} void main()// 函数引用示例 { pline();printf(“n”);}

19.编写函数,在n个元素的一维数组中,统计比相邻元素大的数组元素个数并将统计数返回(不考虑a[0]和a[n-1]),要求以指针变量而不是数组名作参数。#include int num(float *x,int n){ int i,k=0;for(i=1;i*(x+i-1)&&*(x+i)>*(x+i+1))k++;return k;} void main()// 函数引用示例

{ float a[10]={1,3,4,2,6,7,12,5,9,8};printf(“%dn”,num(a,10));}

20.编写函数,在n个元素的一维数组中,找出最大值、最小值并传送到调用函数。

#include void num(float *b,int n,float *max,float *min){ *max=*b;*min=*b;for(int i=1;i*max)*max=*(b+i);if(*(b+i)<*min)*min=*(b+i);} return;} void main()// 函数引用示例

{ float a[10]={1,3,4,2,6,7,12,5,9,8},x,y;num(a,10,&x,&y);printf(“最大值为%f,最小值为%f。n”,x,y);}

21.编写一个函数,统计m行n列二维数组中有多少个正数、多少个负数,多少个零,并

返回统计结果。

#include void sub(float** a,int m,int n,int *fs,int *lin,int *zs){ int i,j;*fs=*lin=*zs=0;for(i=0;i

{ float b[5][3]={{-1,5,2},{3,0,-2},{0,-3,5}, {4,7,-8},{3,4,5}},*c[5];int i,k1,k2,k3;for(i=0;i<5;i++)c[i]=b[i];sub(c,5,3,&k1,&k2,&k3);printf(“负数%d个,零%d个,正数%d个。n”,k1,k2,k3);}

22.编写函数,在给定的一行以'.'结束的字符中,找出最长的单词并输出。#include void find(char *str){ char *p1,*p2,*p3;int k1=0,k2=0;// k1为最长串的长度,初值为0。

p1=p2=p3=str;// p3指向最长串首字符,p1指向当前处理串首字符,while(*p2!='.')// p2为移动指针,*p2为空格表示查找到单词尾部。

if(*p2!=' '){ k2++;p2++;} else if(k2>k1){ p3=p1;p1=++p2;k1=k2;k2=0;} else { k2=0;p1=++p2;} for(k2=0;k2<=k1;k2++)printf(“%c”,*(p3+k2));printf(“n”);return;} void main()// 函数引用示例 { char a[40];int i=0;while((a[i++]=getchar())!='.');find(a);}

23.编写函数print,打印一个学生的成绩数组,该数组中有若干个学生的数据记录,每个记录包括num,name,score[3]。#include struct student { char num[7],name[9];int score[3];};// 尾部分号不得遗漏

void print(struct student* s,int n){ int i;// 运算符'*'、'&'的优先级均低于运算符'.' for(i=0;i

printf(“%s %s %4d%4d%4dn”,(*(s+i)).num,(*(s+i)).name,(*(s+i)).score[0],(*(s+i)).score[1],(*(s+i)).score[2]);return;} void main(){ struct student t[4];int i;for(i=0;i<4;i++)

scanf(“%s%s%d%d%d”,&t[i].num,&t[i].name,&t[i].score[0], &t[i].score[1],&t[i].score[2]);print(t,4);} 24.把文本文件d1.dat复制到文本文件d2.dat中,要求仅复制d1.dat中的英文字符。

#include void main(){ FILE *fpd1,*fpd2;char ch;fpd1=fopen(“d1.dat”,“r”);fpd2=fopen(“d2.dat”,“w”);while(fscanf(fpd1,“%c”,&ch)!=EOF)if(ch>='A'&&ch<='Z'||ch>='a'&&ch<='z')fprintf(fpd2,“%c”,ch);fclose(fpd1);fclose(fpd2);}

25.编程,把文本文件d1.dat复制到d2.dat(其中空格字符不复制)。#include void main(){ FILE *fpd1,*fpd2;char ch;fpd1=fopen(“d1.dat”,“r”);fpd2=fopen(“d2.dat”,“w”);while(fscanf(fpd1,“%c”,&ch)!=EOF)if(ch!=' ')fprintf(fpd2,“%c”,ch);fclose(fpd1);fclose(fpd2);}

26.编程,把文本文件d1.dat复制到d2.dat(其中大写英文字母要转换为小写字母)。

#include void main(){ FILE *fpd1,*fpd2;char ch;fpd1=fopen(“d1.dat”,“r”);fpd2=fopen(“d2.dat”,“w”);while(fscanf(fpd1,“%c”,&ch)!=EOF){ if(ch>='A'&&ch<='Z')ch=ch+32;fprintf(fpd2,“%c”,ch);} fclose(fpd1);fclose(fpd2);}

27.把文本文件d1.dat复制到文本文件d2.dat中,要求仅复制d1.dat中除英文字符和数字以外的其它内容。#include void main(){ FILE *fpd1,*fpd2;char ch;fpd1=fopen(“d1.dat”,“r”);fpd2=fopen(“d2.dat”,“w”);while(fscanf(fpd1,“%c”,&ch)!=EOF)

if(!(ch>='A'&&ch<='Z'||ch>='a'&&ch<='z'||ch>='0'&&ch<='9'))fprintf(fpd2,“%c”,ch);fclose(fpd1);fclose(fpd2);}

28.求出1至100之间的素数(只能被1和自身整除的数)并顺序写入文件su.dat。

#include #include void main(){ FILE *fp;int i,j,k=2;fp=fopen(“su.dat”,“w”);fprintf(fp,“%4d%4d”,2,3);for(i=5;i<100;i=i+2){ for(j=3;j<=sqrt(i);j=j+2)if(i%j==0)break;if(j>sqrt(i)){ fprintf(fp,“%4d”,i);k++;if(k%10==0)fprintf(fp,“n”);} } fclose(fp);}

29.磁盘文件a1和a2,各自存放一个已按字母顺序排好的字符串,编程合并二个文件到a3 文件中,合并后仍保持字母顺序。#include #include void main(){ FILE *fp1,*fp2,*fp3;int i,j,k;char c1,c2;fp1=fopen(“a1”,“r”);fp2=fopen(“a2”,“r”);// 首先从文件a1、a2中各读入一个字符分别送入变量c1、c2,下面将作

// 循环比较,直到读到文件尾标志为止。

fp3=fopen(“a3”,“w”);c1=fgetc(fp1);c2=fgetc(fp2);do { if(c1

30.顺序文件C.DAT每个记录包含学号(8位字符)和成绩(三位整数)两个数据项。从文件读入学生成绩,将大于或等于60分的学生成绩再形成一个新的文件SCORE60.DAT保存在A盘上,并显示出学生总人数、平均成绩和及格人数。#include #include void main(){ FILE *fp1,*fp2;char s[9];int x,zrs=0,pjcj=0,jgrs=0;fp1=fopen(“c.dat”,“r”);fp2=fopen(“a:score60.dat”,“w”);fscanf(fp1,“%s%d”,s,&x);do { zrs++;pjcj+=x;if(x>=60){ jgrs++;fprintf(fp2,“%s %dn”,s,x);} fscanf(fp1,“%s%d”,s,&x);} while(!feof(fp1));printf(“总人数:%d平均成绩:%d 及格人数:%dn”,zrs,pjcj/zrs,jgrs);fclose(fp1);fclose(fp2);} 31.程序清单:

typedef int datatype;typedef struct node {datatype data;struct node *next;}linklist;„„

INVERT(linklist *head){linklisk *p,*q;p=head->next;if(p!=NULL){head->next=NULL;do {q=p->next;p->next=head->next;head->next=p;p=q;} while(p!=NULL);} } 32.程序清单:

PURGE(linklist *head){linklist *p,*q;q=head->next;if(q==NULL)return;p=q->next;while(p!=NULL)if(p->data==q->data){q=p->next;free(p);p=q->next;} else {q=p;p=p->next;} }

33、程序清单: #include main(){static char x[]=”computer”;char *p;for(p=x;p

34、#include #include main(){int m;char str[80],str2[80];printf(“input a string:n”);gets(str2);printf(“intput m:n);scanf(“%d”,&m);if(strlen(str2)

35、程序清单:

float search(float(pointer)[4],int n){float *pt;pt=*(pointer+n);return(pt);}

36、Main(){int score[][4]={{60,76,80,90},{45,86,57,90},{58,95,80,71},{78,50,60,85}};int(*p)[4],j,k,flag;p=score;for(j=0,j<4;j++)if(*(*(p+j)+k)<60)flag=1;if(flag==1){printf(“NO.%dis fail,svoreare:n”,j);for(k=0,;k<4;k++)printf(“%5d”, *(*(p+j)+k);

printf(“n”);} }

37、程序清单: main(){int b[16],x,k,r,I;printf(“enter a integer :n”): scanf(“%d”,&x);

printf(%6d’s binary number is:n”,x);k=-1;do {r=x%2;k++;*(b+k;x/=2;}while(x!=0 for(I=k;I>=0;I--)printf(“%d”,*(b+i)printf(“n”);} 38、float p(int n,int x){flaot t,t1,t2;if(n==0)return(1);else if(n==1)return(x);else {t1=(2*n-1)*x*(p((n-1),x));t2=(n-1)*p((n-2),x);t=(t1-t2)/n);return(t);}}

39、main(){int a[5][5],I,j,k=0,m,n;m=n/2+1;for(I=0,I=I;j--){k++;a[n-I-1][j]=k;} for(j=n-2-I;j>=I+1;j--){k++;a[I][j];}} for(I=0;I main(){int m[16],n,I,t,count=0;long a,k;printf(“result is:n”);for(n=10;n<200;n++){k=0;t=1;a=n*n;for(I=1;a!=0;I++){m[I]=a%10;a/=10;} for(;I>1;I--){k+=m[I-1]*t;t=t*10;} if(k==n*n)printf(“%2d:%10d%10dn”,++count,n,N*n);}}

41、void convert(char *a,int n){int I;if((I=n/10)!=0)convert(a+1,i);*a=n%10+’0’;}

42、#include main(){FILE *fp;char str[100],fikename[10];int I=0;if((fp=fopen(“upper.txt”,”w”))==NULL){printf(“can not open filen”);exit(0);} printf(“enter a string:n”);gets(str);while(str[I]!=’!’)

{if(str[I]>=’a’&&str[I]<=’z’)str[I]=str[I]-32;fputc(str[I],fp);I++;} fclose(fp);}

43、#include “stdio.h” FILE *fp;main(){int p=0,n=0,z=0,temp;fp=fopen(“number.dat”,”r”);if(fp==NULL)printf(“file not foundn”);else {while(!feof(fp)){fscanf(fp,”%d”,&temp);if(temp>0)p++;else if(temp<0)n++;else z++;} fclose(fp);printf(“posive:%3d,negtive:%3d,zero:%3dn:,p,n,z);} }

44、main(){unsigned rightrot(unsigned a,int n)

unsigned int m,b;

int n;

printf(“enter mand n:”);

scanf(%x,%d”,&m,&n);

printf(“m=%x,n=%dn”,m,n);

b=rightrot(m,n);

printf(“b=%xn”,b);} unsigned rightrot(unsigned a,int n){int rb;while(n0){rb=(a&1)<<(16-1);a=a>>1;a=a|rb;} return a;}

45、解:PX(X,N)=X-X2+X3-X4+„„+(-1)N-1XN =X*(1-X-X2+X3-X4+„„+(-1)N-1XN-1 =X*(1-PX(X,N-1)程序清单:

double px(double x,int n){if(n==1)return x;else return(x*(1-px(x,n-1));}

46、程序清单:

double opwer1(double x,int n){if(n==0)return 1;else return(x*power1(x,n-1);}

47、Printfn(int n){if(n=0&&n<=9)printf(“%d”,n);else {printf(“%d”,x%10);printn(x/10);} }

48、程序清单: t(int n){int m;printf(“%d”,x%10);m=x/10;if(m>0)r(m);}

49、程序清单:

int ack(int m,int n){if(m==0)return(n+1);else if(n==0)return(ack(m-1,1);else return(ack(m-1,ack(m,n-1)));} 50、Void intobin(int x){if(x/2>0)intobin(x/2);printf(“%d”,x%2);}

51、Void intobin(int x){if(x/8>0)intobin(x/8);printf(“%d”,x%8);}

52、Void intobin(int x){ if(x/16>0)intobin(x/16);printf(“%c”,(x%16>=9)?x%16+55:x%16+48);}

53、Main(){int x;printf(“enter a number:n”);

scanf(“%d”,&x);if(x!=0){if(x>0){ x=x%2;if(x)printf(“this number is a plus odd numbern”);else printf(“this number is a plus even numbern”);} else { x=x%2;if(x)printf(“this number is a plus odd numbern”);else printf(“this number is a plus even numbern”);} else printf(“this number is zeron”);}

54、Main(){int x,y,max;printf(“please input two number:n”);

scanf(“%d,%d”,&x,&y);if(a>b)max=a;else max=b;printf(“max=%d”,max);}

55、Main(){int j;for(j=999;j>=100;j--)if(555555%j==0)break;printf(“%d”,j);}

56、Main(){int I,count,j,sum;sum=count=0;for(I=0;I<10;I++){printf(“input ingter:n);scanf(“%d”,&j);if(j<0)continue;count++;sum=sum+j;} if(count)printf(“plus number:%d,average value :%.2f”,count,1.0*sum/count);else printf(“plus number:0,average value :0”);}

57、Main(){int year;printf(“%d”,&year);if(year<0)printf(“year is not a yaern”): else if((year%4==0&&year%100!=0)||year%400==0)printf(“year is leap year!n”);else printf(“year is not leap year!n”);}

58、main(){int n,j,k;printf(“input n:n”);

scanf(“%d”,&n);for(j=0;j

printf(“n”);} }

59、main(){int n,I,j,k;printf(“input n:n”);

scanf(“%d”,&n);for(I=0;I

printf(“n”);} } 60、Main(){ int I;float sum=1;for(I=2;I<=1000;I++)sum=sum+1.0/I;printf(“%f”,sum);} 61、Mypower(float x,int n){int I;float po=1;for(I=1,I<=n;I++)po=po*x;printf(“%f”,po);} 62、Main(){int I,j,max;int a[3][4]={};max=a[0][0];for(I=0;I<3;I++)for(j=0;j<4;j++)if(max char *strcat(char *str1,char *str2){}连接后字符串的头指针为str1。#include char *strcat(char *str1,char *str2){char *str1;while(*p!=’’)p++;while(*p++=*str2++);return(str1);} 64、#include char *revstr(char *s){} #include char *revstr(char *s){char *p=s,c;while(*p)p++;p--;while(s

8、略 69、略

70、#include #include main(){char str[80];printf(“input a string :n”);gets(str);insert(str);printf(“result is :%s”,str);} insert(char *s){int I;for(I=strlen(s);I>0;I--){*(s+2*I)=*(s+I);*(s+2*I-1)=’’;} } 71、Main(){int x;scanf(“%d”,&x);if(x%5==0&&x%7==0)printf(“yes”);else printf(“no”);} 72、#include main(){int day=0,buy=2;float sum=0,ave;do { sum=sum+buy*0.8;day++;buy=buy*2;}while(buy<=100);ave=sum/day;printf(“%f”,ave);} 73、#include main(){int I;for(I=1;I<100;I++)if(I*I==I||I*I%100==I)printf(%3d”,I);} 74、#include main(){char s[80]=””;int I,j;for(I=j=0;s[I]!=’’;I++)

if(c[I]!=’c’)s[j++]=s[I];

s[j]=’’;puts(s);} 79、main(){ int a[10];int i,j,m,f,h;int n,s;for(i=0;i<10;i++)a[i]=0;a[9]=1;printf(“please input n:n”);scanf(“%d”,&n);for(i=2;i<=n;i++){m=0;for(j=9;j>=0;j--){if(!(a[j]==0)){ f=a[j];h=(f*i%10+m)/10;a[j]=(f*i%10+m)%10;

m=f*i/10+h;} else { a[j]=a[j]+m;m=0;} } } i=0;while(a[i]==0)i++;printf(“%d!= ”,n);for(j=i;j<10;j++)printf(“%d”,a[j]);printf(“n”);} 80、#include #define N 100 main(){int a,j,jinwei,temp;int num1[N],num2[N];int i;printf(“PLEASE INPUT ONE NUMBER:n”);i=2;while(1){scanf(“%d”,&a);if(a==-1)break;num1[i++]=a;} num1[0]=i-1;i=2;printf(“PLEASE INPUT OTHER NUMBER:n”);while(1){scanf(“%d”,&a);if(a==-1)break;num2[i++]=a;} num2[0]=i-1;for(i=2;i<=num1[0];i++)printf(“%d”,num1[i]);printf(“+”);for(i=2;i<=num2[0];i++)printf(“%d”,num2[i]);printf(“=”);jinwei=0;if(num1[0]>num2[0]){j=num2[0];for(i=num1[0];i>=2;i--){ if(j>=2){ temp=jinwei;jinwei=(num1[i]+num2[j]+jinwei)/10;num1[i]=(num1[i]+num2[j]+temp)%10;

j--;} else { temp=jinwei;jinwei=(num1[i]+jinwei)/10;num1[i]=(num1[i]+temp)%10;

} } num1[1]=jinwei;for(i=1;i<=num1[0];i++)printf(“%d”,num1[i]);} else { j=num1[0];for(i=num2[0];i>=2;i--){ if(j>=2){temp=jinwei;jinwei=(num1[j]+num2[i]+jinwei)/10;num2[i]=(num1[j]+num2[i]+temp)%10;j--;} else {temp=jinwei;jinwei=(num2[i]+jinwei)/10;num2[i]=(num2[i]+temp)%10;} }

num2[1]=jinwei;for(i=1;i<=num2[0];i++)printf(“%d”,num2[i]);} } 81、include #define N 10 main(){int a,j,jinwei,temp;int num1[N],num2[N];int ji[2*N];int i;int k,k1,k2;int jinwei1,jiashu;for(i=0;i<2*N;i++)ji[i]=0;printf(“PLEASE INPUT ONE NUMBER:n”);i=1;while(1){scanf(“%d”,&a);if(a==-1)break;num1[i++]=a;} num1[0]=i-1;

printf(“PLEASE INPUT OTHER NUMBER:n”);i=1;while(1){scanf(“%d”,&a);if(a==-1)break;num2[i++]=a;} num2[0]=i-1;jinwei=0;k=2*N;for(i=num1[0];i>=1;i--){k1=k;k--;k2=k;jinwei=0;for(j=num2[0];j>=1;j--){ k1--;jiashu=(num1[i]*num2[j]+jinwei)%10;jinwei=(num1[i]*num2[j]+jinwei)/10;jinwei1=0;k2=k1;while(1){temp=jinwei1;jinwei1=(ji[k2]+jiashu+temp)/10;ji[k2]=(ji[k2]+temp+jiashu)%10;if(jinwei1==0)break;else {k2--;jiashu=0;} }

} k1--;temp=jinwei;jinwei=(temp+ji[k1])/10;ji[k1]=(temp+ji[k1])%10;if(jinwei!=0)ji[--k1]= jinwei;} printf(“nn”);for(i=1;i<=num1[0];i++)printf(“%d”,num1[i]);printf(“*”);

for(i=1;i<=num2[0];i++)printf(“%d”,num2[i]);printf(“=”);for(i=k1;i<2*N;i++)printf(“%d”,ji[i]);} 82、int count;int perm(char as[],char tem1[],int k,int num,int curr,int m){ int i,t;if(curr==0){if(num==0){printf(“{}”);count++;} else { count++;printf(“{”);for(i=0;i

第四篇:趣味语文题及答案

趣味语文题

一、成语对对子:(注意对仗要工整,意思要相对)

答案来了:

一、成语对对子:(注意对仗要工整,意思要相对)粗茶淡饭(山珍海味)流芳百世(遗臭万年)井然有序(杂乱无章)指鹿为马(点石成金)固若金汤(危如累卵)精雕细刻(粗制滥造)雪中送炭(锦上添花)伶牙利齿(笨嘴拙舌)

二、成语不离“舌” 形容信口胡说(妄口八舌)形容说话轻薄(闲嘴淡舌)形容能说会道(唇枪舌剑)形容惊诧无言(张口结舌)形容不善辞令(笨嘴拙舌)形容随声附和(鹦鹉学舌)

三、数字俗语:表示实实在在,不可更改时用(一是一,二是二)表示做事不考虑周到,干了再说时用(一不做,二不休)表示一样东西两人平分时用(二一添作五)表示某人干事麻利时用(三下五除二)表示差不多时用(八九不离十)表示某人打小算盘时用(小九九)表示归根到底时用(九九归一)表示把握大时用(十有八九)表示很不容易时用(九牛二虎之力)表示信心十足时用(十拿九稳)表示距离远时用(十万八千里)

四、下面人名各取自什么成语?杜鹏程(鹏程万里)陈残云(风卷残云)王任重(任重道远)刘海粟(沧海一粟)丁慧中(秀外慧中)甘如饴(甘之如饴)焦若愚(大智若愚)

五、成语填空:(心)服(口)服(以)德(报)德(以)讹(传)讹(以)牙(还)牙(倚)老(卖)老(将)计(就)计神(乎)(其)神 精(益)(求)精 痛(定)(思)痛欺(人)(自)欺 将(门)(有)将 日(复)

(一)日微(乎)(其)微

六、宝塔诗如何读?开山满桃山杏山好景山来山客看山里山僧山客山山中山路转山崖(山中山路转山崖,山客山僧山里来,山客看山山景好,山杏山桃满山开.)

七、怪体诗如何读?龙虎虎望山山山湖湖湖湖湖海海海海会仙仙仙仙仙仙仙仙万国州州州州州州州州州掉川川川川(一龙二虎望三山,五湖四海会八仙,万国九州掉四川.)

八、下列对联各咏的是谁?

1、一门父子三词客,千古文章四大家。(“三苏”)

2、豪气压群雄,能使力士脱靴,贵妃捧砚;仙才媲美,不让参军俊逸,开府清新。(李白)

3、玉帐深宵悲骏马,楚歌四面促红妆。(项羽)

4、四面湖山归眼底,万家忧乐到心头。(范仲淹)

九、你知道下面的惯用语是什么吗?

1、把在团体中起主导的人喻为(主心骨)

2、把足智多谋的人喻为(智多星)

3、把接待宾客的当地主人喻为(东道主)

4、把公堂台阶下受审的囚犯喻为(阶下囚)

5、把吝啬钱财、一毛不拔的人喻为(铁公鸡)

6、把混混噩噩、不明事理的人喻为(糊涂虫)

7、把世故圆滑的人喻为(老油条)

8、把没有专业知识的外行人喻为(门外汉)

9、把技艺不精、勉强凑合的人喻为(三脚猫)

十、数字猜成语: 12345609(七零八落)1256789(丢三落四)1+2+3(接二连三)333 555(三五成群)3.5(不三不四)5 10(一五一十)9寸+1寸=1尺(得寸进尺)

粗茶淡饭()流芳百世()井然有序()指鹿为马()固若金汤()精雕细刻()雪中送炭()伶牙利齿()

二、成语不离“舌”

形容信口胡说()形容说话轻薄()形容能说会道()形容惊诧无言()形容不善辞令()形容随声附和()

三、数字俗语:

表示实实在在,不可更改时用()表示做事不考虑周到,干了再说时用()表示一样东西两人平分时用()表示某人干事麻利时用()表示差不多时用()表示某人打小算盘时用()表示归根到底时用()表示把握大时用()表示很不容易时用()表示信心十足时用()表示距离远时用()

四、下面人名各取自什么成语? 杜鹏程()陈残云()王任重()刘海粟()丁慧中()甘如饴()焦若愚()

五、成语填空:

()服()服()德()德()讹()讹()牙()牙()老()老()计()计 神()()神 精()()精 痛()()痛 欺()()欺 将()()将 日()()日 微()()微

六、宝塔诗如何读? 开 山满 桃山杏 山好景山 来山客看山 里山僧山客山 山中山路转山崖

七、怪体诗如何读? 龙 虎虎 望 山山山 湖湖湖湖湖 海海海海 会

仙仙仙仙仙仙仙仙 万 国

州州州州州州州州州 掉 川川川川

八、下列对联各咏的是谁?

1、一门父子三词客,千古文章四大家。()

2、豪气压群雄,能使力士脱靴,贵妃捧砚;仙才媲美,不让参军俊逸,开府清新。()

3、玉帐深宵悲骏马,楚歌四面促红妆。()

4、四面湖山归眼底,万家忧乐到心头。()

九、你知道下面的惯用语是什么吗?

1、把在团体中起主导的人喻为()

2、把足智多谋的人喻为()

3、把接待宾客的当地主人喻为()

4、把公堂台阶下受审的囚犯喻为()

5、把吝啬钱财、一毛不拔的人喻为()

6、把混混噩噩、不明事理的人喻为()

7、把世故圆滑的人喻为()

8、把没有专业知识的外行人喻为()

9、把技艺不精、勉强凑合的人喻为()

十、数字猜成语:

12345609(七零八落)1256789(丢三落四)1+2+3(接二连三)333 555(三五成群)3.5(不三不四)5 10(一五一十)

9寸+1寸=1尺(得寸进尺)(附答案)

3、巧填人名,补全歇后语()审案----铁面无私 半路上杀出个()--出了岔;措手不及;突如其来()照镜子----里外不是人()当皇帝----软弱无能()倒茶----滴水不漏;点滴不漏()上梁山----官逼民反

()的斧子----头三下()借荆州----有借无还()借东风----巧用天时()进曹营----一言不发

()打宋江----过后赔礼()进京----不怀好意()喊冤----怨天怨地()焚稿----忍痛割爱()炸碉堡----视死如归()摇头----没救了()出家----一去不复返()穿针----粗中有细()的扁担----有名有姓()穿龙袍----改朝换代()砸锅----破釜没舟

4、在括号里填上省市名称组成成语,然后把你的发现写在横线上。重于泰()()山再起 同舟共()()征北战 人山人()()辕北辙 五湖四()()是心非 跃然纸()()阔天空 人定胜()()津乐道 掌上明()()市蜃楼

5、中国历史上有很多“圣人”: 诗圣---------杜甫 茶圣---------陆羽 酒圣---------杜康 书圣---------王羲之 游圣---------徐霞客 史圣---------司马迁 文圣---------孔丘 草圣---------张旭 医圣---------张仲景 武圣---------关羽 画圣---------吴道子 兵圣

---------孙武 药圣---------孙思邈 科圣(木圣)----张衡 谋圣---------张良

6、把下面的成语补充完整,再用所填的字组成语文中常用的术语: 甜言蜜—— ——质彬彬 无恶不—— ——过饰非 生花妙—— ——蛇添足 死里逃—— ——斟句酌 不择手—— ——气风发 物极必—— ——不容辞(甜言蜜语 文质彬彬 无恶不作文过饰非 生花妙笔 画蛇添足 死里逃生 字斟句酌

不择手段 意气风发 物极必反 义不容辞 语文 笔画 作文 生字 段意 反义)

7、“回文句”是一种句型。一个句子如果正着读与倒着读的意思一样,就可以称为“回文句”.如:蜜蜂酿蜂蜜 风扇能扇风 奶牛挤牛奶。你能写出几个这样的句子吗?聪明的你,快试一试吧!

8、在括号里填上省市名称组成成语,然后把你的发现写在横线上。重于泰()()山再起 同舟共()()征北战 人山人()()辕北辙 五湖四()()是心非 跃然纸()()阔天空 人定胜()()津乐道 掌上明()()市蜃楼(重于泰山 东山再起 同舟共济南征北战 人山人海 南辕北辙 五湖四海 口是心非 跃然纸上 海阔天空 人定胜天 津津乐道 掌上名珠 海市蜃楼

山东 济南 海南 海口 上海 天津 珠海

每个的最后一个字和第二个第一个字能组成一个地名.)

9、八个字的成语 一夫当关,万夫莫开 一日为师,终生为父 一叶障目,不见泰山 一人传虚,万人传实 一言既出,驷马难追 一波未平,一波又起 一人得道,鸡犬升天 一着不慎,满盘皆输 一佛出世,二佛升天 一日不见,如隔三秋 三天打鱼,两天晒网 三分像人,七分像鬼 十年树木,百年树人 十日一水,五日一石 十目所视,十手所指 百花齐放,百家争鸣 百尺竿头,更进一步 百足之虫,死而不僵 百万买宅,千万买邻 千军易得,一将难求 千里之行,始于足下 千里之堤,溃于蚁穴 万事俱备,只欠东风 人无远虑,必有近忧 人以群分,物以类聚 人非圣贤,孰能无过 人同此心,心同此理 人不犯我,我不犯人

10、成 语 接 龙 劳燕分飞+飞蛾扑火+火海刀山+山高水低+低声下气+气象万千+千金一笑+笑里藏刀+刀光剑影+影灭迹绝|绝无仅有+有备无患+患难之交+交头接耳——耳目一新——新来乍到 入木三分+分工合作+(作)做贼心虚 +虚有其表+表里如一+一丝不苟+苟且偷生+生龙活虎+虎头蛇尾+尾大不掉+掉以轻心+心神不定+心乱如麻+麻木不仁+仁至义尽+尽心尽力+ 叶公好龙+龙马精神+神魂颠倒+倒海翻江+江山易改禀性难移+ 移山倒海+海底捞针+针锋相对+对答如流+流芳千古+古色古香+香气袭人+人心所向 年富力强+强人所难+难解难分+分秒必争+争强好胜+胜友如云+云开日出+出头之日+日落西山+山崩地裂 三更半夜+夜长梦多+多才多艺+艺不压身+身心交病+病从口入+入情入理+理直气壮+壮志凌云+云开日出+出人头地+地广人稀 心旷神怡+怡然自得+得寸进尺+尺短寸长+长命百岁+岁月如流+流连忘返返老还童+童言无忌+疾贤妒能+能说会道+道听途说+说三道四+四面八方+方寸已乱+乱七八糟 身体力行+行云流水+水泄不通+通力合作+作威作福+福如东海+海底捞月+月落星沉+沉默不语+语惊四座+座无虚席+席地而坐+坐失良机+机不可失+失败为成功之母

11、我来给广告词改错 例:消炎药广告词:快治人口——(脍炙人口)热水器广告词:随心所浴——()止咳药广告词:咳不容缓——()营养液广告词:口蜜腹健——()摩托车广告词:骑乐无穷——()

12、写作谚语 人不学要落后,刀不磨要生锈。天才在于勤奋,知识在于积累。要学蜜蜂采蜜,不学蜻蜓点水。笔勤能使手快,多练能使手巧。思想模糊不清,文章中心不明。宁写一句实话,不凑百言浮夸。实话三言两语,胜过虚话千句。百遍锤炼成字,千遍推敲成句。

树木不剪不成材,文章不改不精练。千金难买回头看,写稿不厌反复改。

13、成语游戏 1.说说含有数字开头的成语,看谁说得多。

一()二()三()四()五()七()九()十()百()千()万()2.们人体部分,巧说成语。例如:点着自己的手掌,可以说一成语:“掌上明珠”。

(身体某部分可以说:口、眼、鼻、牙、耳、手、胸、肝、肚、指足……)3.出带有十二生肖的成语。(鼠目寸光 龙腾虎跃……)

4.在三分钟内写出含有意思相反语的词语。例如(出生入死 三长两短恩将仇报 大惊小怪……)5.看动作说成语。

一个人根据成语设计一个动作(例如:目不转睛 气势汹汹张牙舞爪东张西望一目十行……),另一个人根据他设计的动作要能说出这个成语是什么。

6.成语接龙。A:一心一﹙﹚气风﹙﹚扬光﹙﹚有作﹙﹚富不﹙﹚至义﹙﹚善尽﹙﹚不胜﹙﹚ B:一手遮﹙﹚经地﹙﹚无返﹙﹚盼自﹙﹚心壮﹙﹚同道﹙﹚久必()

C:一马当﹙﹚见之﹙﹚目张﹙﹚战心﹙﹚天动﹙﹚大物﹙﹚学多()D: 一字千﹙﹚石良﹙﹚外之﹙﹚气用﹙﹚倍功﹙﹚斤八﹙﹚全

巧填人名,补全歇后语(9分)(包公)审案----铁面无私

半路上杀出个(程咬金)--措手不及(或“突如其来”)(猪八戒)照镜子----里外不是人(阿斗)当皇帝----软弱无能(林冲)上梁山----官逼民反(程咬金)的斧子----头三下(刘备)借荆州----有借无还(孔明)借东风----巧用天时(徐庶)进曹营----一言不发(李逵)打宋江----过后赔礼(董卓)进京----不怀好意(窦娥)喊冤----怨天怨地(黛玉)焚稿----忍痛割爱(华佗)摇头----没救了(韩湘子)出家----一去不复返(张飞)穿针----大眼瞪小眼(赵匡胤)穿龙袍----改朝换代(项羽)砸锅----破釜没舟

二、在括号里填字将成语补充完整,所填的字组成了什么?然后把你的发现写在横线上。(7分)

重于泰(山)(东)山再起 同舟共(济)(南)征北战

人山人(海)(南)辕北辙 五湖四(海)(口)是心非

跃然纸(上)(海)阔天空 人定胜(天)(津)津乐道

掌上明(珠)(海)市蜃楼

所填的字组成了 中国地名

三、中国历史上有很多“圣人”,你知道吗?(7分)诗圣 ——(杜甫)谋圣——(张良)

茶圣——(陆羽)酒圣——(杜康)

书圣——(王羲之)史圣——(司马迁)

文圣——(孔丘)草圣——(张旭)

医圣——(张仲景)武圣——(关羽)

画圣——(吴道子)兵圣——(孙武)

药圣——(孙思邈)科圣(木圣)——(张衡)

四、把下面的成语补充完整,再用所填的字组成语文中常用的术语:(6分)

甜言蜜(语)(文)质彬彬 无恶不(作)(文)过饰非

生花妙(笔)(画)蛇添足 死里逃(生)(字)斟句酌

不择手(段)(意)气风发 物极必(反)(义)不容辞

五、你知道有八个字的成语吧?请将下面八字成语补充完整:(14分)

一夫当关,(万夫莫开)一日为师,(终生为父)

一叶障目,(不见泰山)一人传虚,(万人传实)

一言既出,(驷马难追)一波未平,(一波又起)

一人得道,(鸡犬升天)

一着不慎,(满盘皆输)

一佛出世,(二佛升天)一日不见,(如隔三秋)

三天打鱼,(两天晒网)三分像人,(七分像鬼)

十年树木,(百年树人)十日一水,(五日一石)

十目所视,(十手所指)百花齐放,(百家争鸣)百尺竿头,(更进一步)百足之虫,(死而不僵)

百万买宅,(千万买邻)千军易得,(一将难求)

千里之行,(始于足下)千里之堤,(溃于蚁穴)

万事俱备,(只欠东风)人无远虑,(必有近忧)

人以群分,(物以类聚)人非圣贤,(孰能无过)

人同此心,(心同此理)人不犯我,(我不犯人)

六、有的企业为了达到引人瞩目又言简意赅的效果,将成语改得面目全非。下面就请你把这些成语改回原来的模样(2分)例:消炎药广告词:快治人口——(脍炙人口)

热水器广告词:随心所浴——(随心所欲)

止咳药广告词:咳不容缓——(刻不容缓)

营养液广告词:口蜜腹健——(口蜜腹剑)

摩托车广告词:骑乐无穷——(其乐无穷)

七、不少谚语中包含了深刻的道理,请你将下面的写作谚语补充完整:(10分)

人不学要落后,(刀不磨要生锈)。

天才在于勤奋,(知识在于积累)。

要学蜜蜂采蜜,(不学蜻蜓点水)。

笔勤能使手快,(多练能使手巧)。

思想模糊不清,(文章中心不明)。宁写一句实话,(不凑百言浮夸)。

实话三言两语,(胜过虚话千句)。

百遍锤炼成字,(千遍推敲成句)。

树木不剪不成材,(文章不改不精练)。

千金难买回头看,(写稿不厌反复改)。

八、说说含有数字开头的成语,看谁说得多(每空最少2个)。(22分)

一(见如故)二(三其德)三(足鼎立)四(通八达)五(颜六色)

七(嘴八舌)九(曲回肠)十(全十美)百(里挑一)千(山万水)

万(众一心)

九、请写出带有十二生肖的成语,每个生肖说一个,共12个(如“鼠目寸光”)。(6分)

贼眉鼠眼 汗牛充栋 如虎添翼

守株待兔 龙腾虎跃 杯弓蛇影

马到成功 亡羊补牢 杀鸡儆猴

鸡犬不宁 狗尾续貂 猪狗不如

十、成语接龙。(14分)

A、一心一﹙意﹚气风﹙发﹚扬光﹙大﹚有作﹙为 ﹚富不﹙仁﹚至义﹙尽 ﹚善尽﹙美﹚不胜﹙收﹚

B、一手遮﹙天﹚经地﹙义 ﹚无返﹙顾 ﹚盼自﹙雄﹚心壮﹙志 ﹚同道﹙合﹚久必(分)

C、一马当﹙先﹚见之﹙明﹚目张﹙胆﹚战心﹙惊﹚天动﹙地﹚大物﹙博﹚学多﹙才﹚

D、一字千﹙金﹚石良﹙言﹚外之﹙意﹚气用﹙事﹚倍功﹙半﹚斤八﹙两﹚全其﹙美﹚

第一轮:选拔题

1、成语对对子(注意对仗要工整,意思要相对)。

例:粗茶淡饭(山珍海味)

答案:流芳百世(遗臭万年)指鹿为马(点石成金)精雕细刻(粗制滥造)

雪中送炭(锦上添花)伶牙利齿(笨嘴拙舌)

2、说出有“舌”字的成语,说得最多的胜出。

答案:七嘴八舌、妄口八舌、闲嘴淡舌、唇枪舌剑、张口结舌、笨嘴笨舌、鹦鹉学舌等。

3、各举出以一、二、三、四、五、六、七、八、九、十开头的俗语(包括成语、惯用语等)。

例如:一是一,二是二

答案:一不做,二不休 一心一意

二一添作五

三心二意 三下五除二 三人同行,必有我师

四通八达

五花八门

六六大顺

七上八下

八九不离十 八仙过海,各显神通

九九归一 九牛二虎之力

十有八九 十拿九稳

4、下面人名各取自什么成语?

杜鹏程(鹏程万里)陈残云(风卷残云)王任重(任重道远)

刘海粟(沧海一粟)丁慧中(秀外慧中)焦若愚(大智若愚)

5、成语填空

第一组:(心)服(口)服(以)德(报)德(以)讹(传)讹

(以)牙(还)牙(倚)老(卖)老(将)计(就)计

第二组:神(乎)(其)神 精(益)(求)精 痛(定)(思)痛

欺(人)(自)欺 日(复)

(一)日 微(乎)(其)微

8、怪体诗如何读?

虎虎

山山山

湖湖湖湖湖

海海海海

仙仙仙仙仙仙仙仙

(一龙二虎望三山,五湖四海会八仙)

第二轮:上台答题

初级

1、“大珠小珠落玉盘”所形容的是什么乐器的弹奏声?

A、琵琶 B、古筝 C、扬琴(A)

2、《孔雀东南飞》里,刘兰芝“十三能织素,十四学裁衣,十五弹箜篌,十六诵诗书”,请问,“箜篌”是什么乐器:

A、拨弦乐器 B、击弦乐器(A)

3、”有板有眼“的”板“是我国传统音乐节奏中的:

A、强拍 B、弱拍(A)

4、我们常说”隔着门缝看人”,当我们隔着门缝看人时,看到的人:

A、比原来扁了 B、和原来一样 C、比原来宽了(B)

5、在古代,“爵”是一种什么器皿?

A、食器 B、酒器(A)

6、“白雪公主”这个形象最早来自于:

A、格林童话 B、安徒生童话 C、伊索寓言(A)

7、在“精卫填海”的故事里,“精卫”是

A、一个人 B、一只鸟 C、一只猴子 D、一条龙(B)

8、王昭君没有得到汉元帝的召见而远嫁匈奴单于,是因为:

A、王妃对她的陷害 B、画师歪曲她的形象 C、大臣说她的坏话(B)

9、安徒生童话《海的女儿》里,小美人鱼变成人是为了见到谁?

A、渔夫 B、皇后 C、王子(C)

11、“卧薪尝胆”说的是:

A、夫差 B、范蠡 C、管仲 D、勾践(D)

12、买椟还珠这则成语是用来比喻有些人

A、只注重事物外表,不重内涵 B、为了赚钱不择手段 C、善于掩盖事物本质(A)

13、屈原是春秋时代哪国人?

A、吴国 B、楚国 C、越国 D、齐国(B)

14、神话《白蛇传》中“白娘娘盗仙草”盗的是:

A、人参 B、冬虫夏草 C、灵芝(C)

15、杜甫诗云,“晓看红湿处,花重锦官城”,李白诗云,“锦城虽云乐,不如早还家”,请问,成都为什么又叫做“锦城”或“锦官城”?

A、因蜀锦而得名 B、因锦江而得名(A)

16、李白笔下的“飞流直下三千尺,疑是银河落九天”指的是哪个风景区?

A、华山 B、黄山 C、峨眉山 D、天姥山 D、庐山(D)

17、《西游记》中的火焰山位于:

A、甘肃 B、新疆 C、青海(B)

18、“初出茅庐”中的“茅庐”本意是指谁的的住处?

A、刘备 B、诸葛亮 C、司马光 D、司马迁(B)

19、”红娘”是哪部作品中的人物?

A、西厢记 B、牡丹亭 C、桃花扇(A)

20、在“夸父逐日”中,“夸父”是怎样追逐太阳的?

A、驾车 B、骑马 C、奔跑 D、飞行(C)

21、“来龙去脉”的成语产生于:

A、历史研究 B、风水勘探 C、政治事件(B)

22、维纳斯是希腊神话中的

A、智慧女神 B、爱神和美神 C、自由女神(B)

中级

1、相传我国古代能作“掌上舞”的人是:(中级)

A、杨玉环 B、貂蝉 C、赵飞燕 D、西施(C)

2、《史记》中的“世家”是给什么人作的传?(中级)

A、皇帝 B、诸侯王 C、贵族 D、重臣(B)

3、我国古代诗歌史上被称为“双璧”的一篇是《孔雀东南飞》,另一篇是:

A、木兰诗 B、木兰辞 C、琵琶行(A)

4、“采菊东篱下,悠然见南山”的生活方式被现代人所向往。请问:被称为“菊月”的月份是:

A、八月 B、九月 C、十月(B)

5、李清照的《如梦令》里的“绿肥红瘦”是描写什么季节的景象?

A、晚春 B、盛夏 C、初秋 D、寒冬(A)

6、”司空见惯“中的”司空“是指:

A、唐代一位诗人 B、唐代一位高僧 C、一种官职(C)

7、以下哪件事是《水浒》中梁山好汉武松所为?

A、倒拨垂阳柳 B、汴京城卖刀 C、醉打蒋门神(C)

8、“名花解语”是用来形容什么的?

A、女子非常美丽 B、花艳丽 C、花通人性 D、美女善解人意(D)

9、“程门立雪”这个典故讲的宋朝的杨时,为了见名士程颐而在他家门前冒雪等待的故事,那么杨时等待的目的是:

A、拜访 B、请罪 C、道谢 D、辞别(A)

10、我们常把那些一知半解,却喜欢在人前卖弄的人叫:

A、半截剑 B、半段枪 C、半面 D、半瓶醋(D)

11、什么时候适合用“七月流火”来形容?

A、炎炎夏日 B、夏去秋来 C、春去夏来 D、秋去冬来(B)

12、“汗流浃背”的典故出自西汉周勃,他 “汗流浃背”的原因是:

A、衣服穿得太多 B、劳动太卖力气 C、打仗拼死厮杀 D、答不出皇帝的问题(D)

13、京剧中,饰演性格活泼、开朗的青年女性的应是:

A、青衣 B、花旦 C、彩旦(B)

14、柳永词云,“今宵酒醒何处?杨柳岸,晓风残月”,多么迷离伤感。请问,人们常提到的“杨柳”是指:

A、一种树木的名称 B、两种不同的树木的名称 C、与树木无关(B)

15、”成也萧何,败也萧何”说的是谁的经历?

A、刘邦 B、项羽 C、韩信 D、张良(C)

16、“期期艾艾”这个典故讲的是西汉的周昌和西晋的邓艾两个人说话时的什么毛病?

A、口吃 B、好说谎 C、喜欢骂人 D、喜欢无病呻吟(A)

17、西方童话中,猫头鹰常以最聪明的角色出现,是因为猫头鹰:

A、头脑聪明 B、活得长久 C、与人长得相似 D、经常保持思考的表情(B)

18、民间故事《梁祝》突出反映了我国现行《婚姻法》的哪项基本制度?

A、男女平等 B、一夫一妻 C、婚姻自由(C)

高级

1、“东床快婿”原本是指:(高级)

A、司马相如 B、王羲之 C、刘邦 D、诸葛亮(B)

2、“东山再起”这个典故出自:

A、曹操 B、刘备 C、谢安 D、孔子(C)

3、“冬天到了,春天还会远吗”是谁说的?

A、席勒 B、雪莱 C、歌德 D、徐志摩 E、舒婷(B)

4、“清明时节雨纷纷,路上行人欲断魂”,请问,我国对清明节有多种的称呼,下列哪一种不是?

A、鬼节 B、死节 C、冥节 D、聪明节 E、寒食节(E)

5、“破釜沉舟”这个成语出于哪次战争?

A、赤壁之战 B、长平之战 C、巨鹿之战 D、官渡之战 E、淝水之战(C)

6、古代六艺,”礼、乐、射、御、书、数“中的”御“是指:

A、下棋 B、种花 C、武术 D、驾车 E、舞蹈(D)

7、”心比天高,身为下贱”是《红楼梦》中对谁的判词?

A、晴雯 B、袭人 C、黛玉(A)

8、由成语“墙头马上”的原意可知,元朝白朴所著的《墙头马上》属于什么类型的杂剧?

A、武侠 B、言情 C、战争 D、伦理 E、历史(B)

9、历史上曾有的“风声雨声读书声声声入耳,家事国事天下事事事关心”对联是在:

A、东林书院 B、岳麓书院 C、石鼓书院 D、白鹿书院 E、应天书院(A)

10、古代小说常用“沉鱼落雁,闭月羞花”形容女性之美,其中“闭月”是指:

王昭君 B、杨玉环 C、貂蝉 C、西施 E、赵飞燕(C)

11、有一个很著名的“斯芬克斯之谜”,请你猜一猜:有一种事物,早上用四条腿走路,中午用两条腿走路,傍晚用三条腿走路。你知道这种事物是什么吗?

A、一种鬼怪 B、一种远古动物 C、人类 D、树(C)

12、“斯芬克斯之谜”中的“斯芬克斯”的身躯是:

A、马 B、狮子 C、老虎 D、蛇(B)

13、文学史上,有四部《变形记》,其中写人变成甲虫遭遇的那一部的作者是

A、阿普列尤斯 B、契诃夫 C、奥维德 D、卡夫卡(D)

14、《悲惨世界》的主人公冉阿让因为偷了什么东西而服了19年的苦役?

A、一瓶葡萄酒 B、一杯牛奶 C、一片面包 D、一块饼干(C)

第三轮:擂台题

从上面剩下的题目选。

穿插:观众抢答题

1、第一次抢答

你知道下面的惯用语是什么吗?

把在团体中起主导的人喻为(主心骨)

把足智多谋的人喻为(智多星)

把接待宾客的当地主人喻为(东道主)

把公堂台阶下受审的囚犯喻为(阶下囚)

把吝啬钱财、一毛不拔的人喻为(铁公鸡)

把混混噩噩、不明事理的人喻为(糊涂虫)

把世故圆滑的人喻为(老油条)

把没有专业知识的外行人喻为(门外汉)

把技艺不精、勉强凑合的人喻为(三脚猫)

2、第二次抢答

数字猜成语(小黑板)

12345609(七零八落)1256789(丢三落四)1+2+3(接二连三)333 555(三五成群)

3.5(不三不四)5 10(一五一十)9寸+1寸=1尺(得寸进尺)

3、第三次抢答

说出歇后语的后半部分:

矮子坐高凳--够不着 八月的核桃--挤满了人(仁)

稻草人救火--引火上身、同归于尽 擦脂粉进棺材--死要面子

炒咸菜放盐巴--太闲(咸)了 厕所里挂个钟--有始有终

外甥打灯笼--照舅 猪鼻子插葱--装象

第五篇:编程题总结

C作业汇总

1.short a,b=32767;/*short类型在内存中占2B*/ a=b+1;问:a的值是多少?并分析原因。

2.有一4位数整数,假设用abcd表示,请把这个4位数的每个数位用表达式表示出来。3.从键盘输入圆的半径r,计算并输出圆的面积s(要求:半径r定义为float型;圆周率定义为符号常量;面积s保留2位小数)#define PI 3.14159 #include void main(){ float r,s;printf(“请输入半径r:n”);scanf(“%f”,&r);s=PI*r*r;printf(“面积是:%.2fn”,s);}

4.输入m>=3的正整数,判断m是否素数。画出算法流程图及NS图

5.有一函数:

x1 x y2x1 1x10

3x-11 x10 写一段程序,输入x,输出y值。

要求x,y声明为float类型,y保留2位小数。#include void main(){ float x,y;printf(“请输入x的值:n”);scanf(“%f”,&x);

if(x<1)

y=x;else

if(x<10)

y=2*x-1;

else

y=3*x-11;

}

printf(“y=%.2fn”,y);

x3x5x7x9,6.课后习题4.17(P159)利用泰勒级数sinxx计算sinx的3!5!7!9!值。要求最后一项的绝对值小于10,并统计出此时累加了多少项。#include #include void main(){ float x,sinx=0;float term;

/*记录每个项数*/ int n=1,count=0;/*count记录累加了多少项*/

printf(“请输入x值(弧度):n”);scanf(“%f”,&x);

term=x/n;while(fabs(term)>1e-5)

/* while循环*/ {

sinx+=term;

count++;

n+=2;

term=-term*x*x/((n-1)*n);}

/* do

/*do while循环*/ {

sinx+=term;

count++;

n+=2;

term=-term*x*x/((n-1)*n);}while(fabs(term)>1e-5);

*/

printf(“sin(%.2f)=%.4fn”,x,sinx);printf(“一共累加了:%d项。n”,count);}

7.用牛顿迭代法求下面方程在1.5附近的根:

2x4x3x60 325

牛顿迭代公式:

x1x0f(x0)f(x0)

#include #include void main(){ float x0,x1=1.5;float y1,y2;

/*y1记录f(x0),y2记录f(x0)的导数*/

do {

x0=x1;

y1=2*x0*x0*x0-4*x0*x0+3*x0-6;

y2=6*x0*x0-8*x0+3;

x1=x0-y1/y2;}while(fabs(x1-x0)>1e-5);

printf(“the root is:%.2fn”,x1);}

8.写一函数,输入一个16进制整数,输出相应的10进制数。例:从键盘输入2a,输出结果是42。

要求:若输入数据不合法,则输出提示信息。如输入了35g,输出“您输入的16进制数不合法!”。

#include #include void main(){ char c;int sum=0;

printf(“请输入一个16进制数字:n”);

while((c=getchar())!='n'){

if(c>='0' && c<='9')

sum=sum*16+c-'0';

else

if(c>='a' && c<='f')

sum=sum*16+c-87;

else

if(c>='A' && c<='F')

sum=sum*16+c-55;

else

{

printf(“您输入的16进制不合法.n”);

exit(0);

} }

printf(“相应的10进制数是:%dn”,sum);} 方法2:用字符串处理的方式 #include #include void main(){ char str[20];int i,sum=0;

printf(“请输入一个16进制数字:n”);gets(str);

for(i=0;str[i];i++){

if(str[i]>='0' && str[i]<='9')

sum=sum*16+str[i]-'0';

else

if(str[i]>='a' && str[i]<='f')

sum=sum*16+str[i]-87;

else

if(str[i]>='A' && str[i]<='F')

sum=sum*16+str[i]-55;

else

{

printf(“您输入的16进制不合法.n”);

exit(0);

} }

printf(“相应的10进制数是:%dn”,sum);} 方法3:用字符数组及指针处理的方式 #include #include void main()

{ char str[20],*p=str;int sum=0;

printf(“请输入一个16进制数字:n”);gets(p);

while(*p){

if(*p>='0' && *p<='9')

sum=sum*16+*p-'0';

else

if(*p>='a' && *p<='f')

sum=sum*16+*p-87;

else

if(*p>='A' && *p<='F')

sum=sum*16+*p-55;

else

{

printf(“您输入的16进制不合法.n”);

exit(0);

}

p++;}

printf(“相应的10进制数是:%dn”,sum);} 9.编写一个小函数,其功能是计算两个整数的平均值,该函数要在主函数中调用。

#include void main(){ int x,y;float avg;float average(int,int);printf(“输入x,y的值,用空格分隔两个数:n”);scanf(“%d%d”,&x,&y);

avg=average(x,y);

printf(“%d,%d的平均值是:%.2fn”,x,y,avg);}

float average(int x,int y)

{ return(x+y)/2.0;}

10.有N(N用宏定义为符号常量)个元素的一维整型数组,该数组中各元素值从键盘随机输入。然后,将这个整型数组中的值逆序存放。例如,原来5个元素的顺序为8、1、4、6、5,逆序之后各元素的值是5、6、4、1、8 #define N 5 #include void main(){ int a[N];int i,t;

printf(“输入%d个整数,用空格或回车分隔:n”,N);for(i=0;i

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

printf(“数组原来的值是:n”);for(i=0;i

printf(“%dt”,a[i]);

for(i=0;i

t=a[i];

a[i]=a[N-1-i];

a[N-1-i]=t;}

printf(“n逆序之后数组的值是:n”);for(i=0;i

printf(“%dt”,a[i]);

printf(“n”);} 11.有N(N用宏定义为符号常量)个元素的一维整型数组,该数组中各元素值从键盘随机输入。然后,对该数组元素进行由小到大排序(要求,该功能用函数实现),输出数组中各元素值。最后,从键盘随机输入一个整数,并把该整数插入上述数组中(该功能用函数实现),使得插入该整数后的数组仍然有序,输出数组中各元素的值。#define N 5 #include void main(){ int a[N+1];

int i,x;void sort(int array[],int n);void insert(int array[],int n,int x);

printf(“输入%d个整数,用空格或回车分隔:n”,N);for(i=0;i

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

sort(a,N);

/*调用sort对数组进行排序*/

printf(“n升序排序之后数组的值是:n”);for(i=0;i

printf(“%d

”,a[i]);

printf(“n输入一个x值插入到数组中:n”);scanf(“%d”,&x);

insert(a,N,x);

printf(“n插入%d之后数组的值是:n”,x);for(i=0;i

printf(“%d

”,a[i]);

printf(“n”);}

void sort(int array[],int n)/*用选择法对数组array升序排序*/ { int i,j,t,min;

for(i=0;i

min=i;

for(j=i+1;j

if(array[j]

min=j;

if(min!=i)

{

t=array[i];

array[i]=array[min];

array[min]=t;

} } }

void insert(int array[],int n,int x){ int i,pos;

for(i=0;i

pos=i;

for(i=n-1;i>=pos;i--)

array[i+1]=array[i];

array[pos]=x;}

12.有一整型数组,N(N用宏定义为符号常量)个元素,该数组中各元素值从键盘随机输入。从键盘随机输入一个整数x,删除该数组中值与x相同的所有元素(该功能用函数实现),输出数组中各元素的值。#define N 5 #include void main(){ int a[N];int i,x,n;int delet(int a[],int n,int x);

printf(“输入%d个整数,用空格或回车分隔:n”,N);for(i=0;i

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

printf(“数组原来的值是:n”);for(i=0;i

printf(“%dt”,a[i]);

printf(“n请输入要删除的值x:n”);scanf(“%d”,&x);

n=delet(a,N,x);

/*n值是删除与x相同的元素后,数组剩余元素的个数。*/

printf(“删除%d之后数组的值是:n”,x);for(i=0;i

printf(“%d

”,a[i]);

printf(“n”);

}

int delet(int a[],int n,int x){ int i,j;

for(i=0,j=0;i

if(a[i]!=x)

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

return j;}

13.从键盘随机输入一字符串,将所有ASCII值为偶数的字符输出。例如:输入abc123,输出结果是b2(因为b的ASCII值是98,2的ASCII值是50,其他字符的ASCII值都是奇数)

#include #define N 40 void main(){ char str[N];int i;

printf(“输入字符串:n”);gets(str);

printf(“ASCII码是偶数的字符有:”);for(i=0;str[i];i++)

if(str[i]%2==0)putchar(str[i]);

printf(“n”);}

14.从键盘输入两个字符串s1,s2,把s2连接到s1的末尾。不能用strcat函数 #include #define N 40 void main(){ char str1[N],str2[N];void mystrcat(char *p1,char *p2);

printf(“输入两个字符串,输入回车键结束:n”);gets(str1);gets(str2);

mystrcat(str1,str2);

printf(“连接在一起的字符串是:n”);puts(str1);

}

void mystrcat(char *p1,char *p2){ while(*p1)p1++;while(*p2)

*p1++=*p2++;*p1='';} 15.从键盘输入一个字符串,把其中最长的单词输出。单词定义为连续的一串英文字母。如输入I am a student.输出结果为student #include void main()

{

char str[80];int i,start,len=0,lenthest=0,lenstart=0;int word=0;

printf(“input a string:n”);gets(str);

for(i=0;str[i];i++){

if(str[i]>='a' && str[i]<='z' || str[i]>='A'&&str[i]<='Z')

if(!word)

{

word=1;

start=i;

}

else

{

len++;

}

else

if(word)

{

word=0;

}

} if(len>lenthest){ lenthest=len;lenstart=start;} len=0;

printf(“the lenthest word is:n”);for(i=lenstart;i<=lenstart+lenthest;i++)

putchar(str[i]);

printf(“n”);}

16.有一整型数组,N(N用宏定义为符号常量)个元素,该数组中各元素值从键盘随机输入。编写函数calculate,计算出所有元素的最大值、最小值、平均值,结果在主函数中输出。#define N 5 #include void main(){ int a[N];int i,max,min;float avg;void calculate(int a[],int *pmax,int *pmin,float *pavg);

printf(“输入%d个整数,用空格或回车分隔:n”,N);for(i=0;i

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

calculate(a,&max,&min,&avg);

printf(“数组中所有元素的最大值、最小值、平均值分别是:n”);printf(“最大值max=%d,n”,max);if(word)if(len>lenthest){

lenthest=len;

lenstart=start;}

printf(“最小值min=%d,n”,min);printf(“平均值avg=%.2f,n”,avg);

}

void calculate(int a[],int *pmax,int *pmin,float *pavg){ int i;int sum;

*pmax=*pmin=sum=a[0];

for(i=1;i

if(a[i]>*pmax)

*pmax=a[i];

if(a[i]<*pmin)

*pmin=a[i];

sum=sum+a[i];}

*pavg=(float)sum/N;}

下载趣味编程题整理及答案范文合集word格式文档
下载趣味编程题整理及答案范文合集.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    编程题总结

    大家必须掌握每种类型的1-3题。题号考点要求48、 将两个两位数的整数合并成一个整数 65、 两个正整数合并成一个整数 71、 两个正整数合并成一个整数 77、 两个正整数合并成......

    编程题小结大全

    1011 字符逆序 Description:将一个字符串str的内容颠倒过来,并输出。Str的长度不超过100个字符。 Input:输入包括一行。第一行输入的字符串。 Output:输出转换好的逆序字符串。......

    改错编程题

    实验二 VC++流程控制语句(一) 二 程序设计题 1、编写程序,输入一个不多于5位的整数,求出它是几位数,并分别打印出每一位数字,再按逆序打印出各位数字。 2、编写程序,输入三角形三边......

    趣味题

    1、 不许往墙上扔,不许往地上扔,也不许在球上捆绳子,怎样让球扔出去也自动回来?2、 3、4、 5、6、 7、 一个三位数,这个三位数的三个数字之和为12,百位数字加上5得7,个位数字加上2......

    趣味题(范文)

    趣味历史题 收集整理:江苏省常州市 溧阳市戴埠高级中学 万海泉 戴国斌 葛云青 1.历史谜语 (1)说尽心中无限事(打一近代皇帝)道光 (2)夕照街(打一近代皇帝)道光 (3)普遍富起来(打一近代皇......

    六年级趣味语文题(附答案)

    (一)趣填成语(1)泵(水落石出) (2)2.4.3(颠三倒四 )(3)八分之七(七上八下) (4)-718(横七竖八 )(5)加起来十一种颜色(五颜六色) (6)1111111(独一无二) (7)0000(万无一失) (二)成语之“最”在括号里......

    Java基础编程题

    【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析: 兔子的......

    C语言经典编程题(推荐)

    C语言经典编程题 题目01:在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,空格用来分隔不同的单词。 [cpp] view plain copy print? 1. 2. 3. 4. 5. 6. 7. 8. 9.......