A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© IOS菜鸟! 初级黑马   /  2016-5-15 00:30  /  769 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

【程序18】

题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时

   共有5个数相加),几个数相加有键盘控制。

1.程序分析:关键是计算出每一项的值。

2.程序源代码:

main()

{

 int a,n,count=1;

 long int sn=0,tn=0;

 printf("please input a and n\n");

 scanf("%d,%d",&a,&n);

 printf("a=%d,n=%d\n",a,n);

 while(count<=n)

 {

  tn=tn+a;

  sn=sn+tn;

  a=a*10;

  ++count;

 }

printf("a+aa+...=%ld\n",sn);

}

==============================================================

【程序19】

题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程

   找出1000以内的所有完数。

1. 程序分析:请参照程序<--上页程序14.

2.程序源代码:

main()

{

static int k[10];

int i,j,n,s;

for(j=2;j<1000;j++)

 {

 n=-1;

 s=j;

  for(i=1;i  {

   if((j%i)==0)

   { n++;

    s=s-i;

    k[n]=i;

   }

  }

 if(s==0)

 {

 printf("%d is a wanshu",j);

 for(i=0;i printf("%d,",k);

 printf("%d\n",k[n]);

 }

}

}

==============================================================

【程序20】

题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在

   第10次落地时,共经过多少米?第10次反弹多高?

1.程序分析:见下面注释

2.程序源代码:

main()

{

float sn=100.0,hn=sn/2;

int n;

for(n=2;n<=10;n++)

 {

  sn=sn+2*hn;

  hn=hn/2;

 }

printf("the total of road is %f\n",sn);

printf("the tenth is %f meter\n",hn);

}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马