网站首页  学校简介  PHP培训  就业类培训  短期类培训  设计类培训  会计培训  电脑园地  证书说明  在线留言  上课地址  讨论区


    就业求职课程推荐
PHP开发工程师就业
ASP.net开发工程师
网页设计师就业班
平面设计师就业班
室内设计师就业班
专业排版师就业班

    计算机培训课程
LAMP开发工程师培 ASP开发工程师培训
DIV CSS网站布局培 平面设计师培训
电脑维修工程师培 计算机二级培训
飞腾排版师培训 华光排版师培训
商务办公师培训 室内设计师培训
网页设计师培训 PHP开发工程师培训
计算机一级培训 Linux网络工程培训
     
    您现在的位置: >> 中亚首页 >> 电脑园地 >> C语言经典题目题解之三  
     
 
C语言经典题目题解之三
来源:北京中亚学校  发表时间:2007年6月17日  共有人访问

【程序11】

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

二、程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....

三、程序源代码
main()
{ long f1,f2;
int i;
 f1=1;
 f2=1;
for(i=1;i<=20;i++)
  { printf("%12ld %12ld",f1,f2);
  if(i%2==0)
   printf("\n");  /*控制输出,每行四个*/
   f1=f1+f2;    /*前两个月加起来赋值给第三个月*/
   f2=f2+f1;    /*前两个月加起来赋值给第三个月*/
    }
 }

 

【程序12】
一、题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个
    第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下
    的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

二、程序分析:采取逆向思维的方法,从后往前推断。

三、程序源代码

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);
}

 


【程序13】
一、题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定
    比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出
    三队赛手的名单。

二、程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,
       则表明此数不是素数,反之是素数。       

三、程序源代码

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);
           }
          }
       }
     }

 

【程序14】

一、题目:打印出如下图案(菱形)

    *
   ***
  ******
 ********
  ******
   ***
    *

二、程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重
       for循环,第一层控制行,第二层控制列。

三、程序源代码

main()
{
int i,j;
for(i=0;i<=3;i++)   /*输出上面4行*号*/
   {
   for(j=0;j<=3-i;j++)
   printf(" ");     /*输出*号前面的空格*/
   for(j=0;j<=2*i;j++)
   printf("*");    /*输出*号*/
   printf("\n\n"); /*输出完一行*号后换行*/
   }
for(i=0;i<=2;i++)   /*输出下面3行*/
   {
   for(j=0;j<=i+1;j++)
    printf(" ");        /*输出*号前面的空格*/
   for(j=1;j<=5-2*i;j++)
   printf("*");
   printf("\n\n");
 }
}

 

【程序15】

一、题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

二、程序分析:请抓住分子与分母的变化规律。

三、程序源代码

main()
{int n,t;
float a=2,b=1,s=0;
for(n=1;n<=20;n++)
  {
    s=s+a/b;
    t=a;
    a=a+b;
    b=t;
     }
  printf("sum is %9.6f\n",s);
  }

 

作者:北京中亚学校
标签:C语言
打印】 【关闭
 
     
中国总机电话实名:95001000转北京中亚学校 在线QQ:93946341 中亚电话:010-51692691 010-64178470 中亚邮箱:zhongya@vip.163.com
网络实名:北京PHP培训|北京电脑培训|北京中亚电脑学校|北京计算机学校|北京计算机培训学校|计算机培训
招聘信息 | 人才信息 | 就业指导 | 友情链接 | 证书查询 | 工具下载 | 网站建设
学校地址:北京市东城区东直门外东中街32号楼(东环广场路东侧)
电话:010-51692691 010-64178470 QQ:93946341
北京中亚学校版权©所有  京ICP备05011382号