C程序开发经典实例之3

文章作者 100test 发表时间 2007:04:06 21:29:51
来源 100Test.Com百考试题网


计算机等级考试训练软件《百宝箱》

【程序21】
题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
1.程序分析:采取逆向思维的方法,从后往前推断。
2.程序源代码:
main()
{
int day, x1, x2.
day = 9.
x2 = 1.
while(day>0)
{
x1 = (x2 1) * 2. /* 第一天的桃子数是第2天桃子数加1后的2倍 */
x2 = x1.
day--.
}
printf("the total is %d\n", x1).
}

【程序22】
题目:两个乒乓球队进行比赛,各出三人。甲队为a, b, c三人,乙队为x, y, z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x, z比,请编程序找出三队赛手的名单。
1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。
2.程序源代码:
main()
{
char i, j, k. /* i是a的对手,j是b的对手,k是c的对手 */
for(i=x. i<=z. i )
for(j=x. j<=z. j )
{
if(i != j)
for(k=x. k<=z. k )
{
if(i != k &.&. j != k)
{
if(i != x &.&. k != x &.&. k != z)
printf("order is a--%c\tb--%c\tc--%c\n", i, j, k).
}
}
}
}

【程序23】
题目:打印出如下图案(菱形)
*
***
******
********
******
***
*
1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重for循环,第一层控制行,第二层控制列。
2.程序源代码:
/* 欢迎访问 C Builder研究 - www.ccrun.com */
main()
{
int i, j, k.
for(i=0. i<=3. i )
{
for(j=0. j<=2-i. j )
printf(" ").
for(k=0. k<=2*i. k )
printf("*").
printf("\n").
}
for(i=0. i<=2. i )
{
for(j=0. j<=i. j )
printf(" ").
for(k=0. k<=4-2*i. k )
printf("*").
printf("\n").
}
}

【程序24】
题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
1.程序分析:请抓住分子与分母的变化规律。
2.程序源代码:
main()
{
int n, t, number = 20.
float a = 2, b = 1, s = 0.
for(n=1. n<=number. n )
{
s = s a / b.
t = a. a = a b. b = t. /* 这部分是程序的关键,请读者猜猜t的作用 */
}
printf("sum is %9.6f\n", s).
}

【程序25】
题目:求1 2! 3! ... 20!的和
1.程序分析:此程序只是把累加变成了累乘。
2.程序源代码:
/* 63 63 72 75 6E 2E 63 6F 6D */
main()
{
float n, s = 0, t = 1.
for(n=1. n<=20. n )
{
t *= n.
s = t.
}
printf("1 2! 3!... 20!=%e\n", s).
}

相关文章


C程序开发经典实例之8
C程序开发经典实例之5
C程序开发经典实例之6
C程序开发经典实例之4
C程序开发经典实例之3
C程序开发经典实例之1
C程序开发经典实例之2
二级C 精品课程3-2:优先级和结合性
二级C 精品课程3-1-7:C 运算符之逗号运算符
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛