| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 600 人关注过本帖
标题:五道帖子题!
只看楼主 加入收藏
我菜119
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:938
专家分:1756
注 册:2009-10-17
结帖率:98.26%
收藏
已结贴  问题点数:20 回复次数:5 
五道帖子题!
这个是我在论坛上看见一位朋友发的帖子,总共有五道题,下面是我做的答案,本想回复在该朋友的帖子上,但是我没有找到这位朋友的帖子,所以只好我自己发表了!不知道我写的程序时否好,欢迎大家指正!
题目:
1,输入2个正整数a和n,求a+aa+aaa+aa····a(n个a)之和。例如输入2和3,输出246(2+22+222)
(输入输出提示例Input a,n:8 5)
               s=98760
程序代码:
double fun(int i);
#include<stdio.h>
main()
{
int a,n,i;
double sum=0,sum_1=0;
puts("Enter a & n:");
scanf("%d%d",&a,&n);
for(i=0;i<n;i++){
sum+=a*fun(i);
sum_1+=sum;
}
printf("%.0lf",sum_1);
return 0;
}
double fun(int i)
{
double result;
if(i==0)
result=1;
else
result=10*fun(i-1);
return result;
}

2,皮球从height米得高度自由落下,接触地面后反弹到原高度的一半,再落下,再反弹,如此反复。皮球在n次落地时,在空中经过的路程是多少米?第n次反弹的高度是多少?(输出保留1位小数)
(输入输出示例Input height:10
              Input n:2
              distance=25.0
              height=2.5)
程序代码:
#define NUMBER 2
double fun(int n,int number);
#include<stdio.h>
main()
{
int n,i;
double distance,height,start_height;
puts("Input start_height & n:");
scanf("%lf%lf",&start_height,&n);
distance=start_height;
height=start_height/fun(n,NUMBER);
for(i=1;i<=n;i++){
start_height=start_height/2;
distance+=start_height*2.0;
}
printf("%.1lf\n%.1lf",distance,height);
return 0;
}
double fun(int n,int number)
{
double sum;
if(n==0)
sum=1;
else
sum=number*fun(n-1,number);
return sum;
}


3,输入2个正整数m和n(m>=1,n<=500),输出m和n之间的所有素数,每输出6个。素数是指只能比1和自身整除的正整数,最小的素数是2.
(输入输出示例Input m:1
              Input n:35
              2 3 5 7 11 13
              17 19 23 29 31)
程序代码:
int Sushu_(int i);
#include<math.h>
#include<stdio.h>
main()
{
int m,n,i;
puts("Enter tow number m & n(m>=1,n<=500,m<=n):");
scanf("%d%d",&m,&n);
if(m>n)
fprintf(stderr,"Error of Input OVER");
for(i=m;i<=n;i++)
if(Sushu(i)==1)
printf("%-6d",i);
return 0;
}
int Sushu(int i)
{
int result=0,j;
if(i==1)
return result;
for(j=2;j<=(int)sqrt(i);j++)
if(i%j==0)
break;
if(j>(int)sqrt(i))
result=1;
return result;
}


4,将一笔钱(大于8分,小于1元,精确到分)换算成1分,2分和5分的硬币组合。输入金额。问有几种换算方法?针对每一种换算方法,输出各种面额的硬币数量,要求每种硬币至少有一枚。
(输入输出示例Input money:10
              count=2
              fen5:1  fen2:2   fen1:1
              fen5:1  fen2:1   fen1:3)
程序代码:
#include<stdio.h>
main()
{
 int money,one_number=1,two_number,five_number;
 puts("Input the count of money(money>8&&money<100):");
 scanf("%d",&money);
 for(five_number=1;five_number<=money/5;five_number++)
 for(two_number=1;two_number<=money/2;two_number++)
 for(one_number=1;one_number<=money;one_number++)
  if(5*five_number+2*two_number+one_number==money)
  printf("fen5:%d  fen2:%d   fen1:%d\n",five_number,two_number,one_number);
 return 0;
}
我没有想出能够降低时间度的方法!
5,输入2个正整数m和n(m>=1,n<=1000),输出m和n之间的所有水仙花数。水仙花数是指各位数字的立方和等于其自身的数。例如,153的各位数字的立方和是1*1*1+5*5*5+3*3*3=153.
(输入输出示例Input m:100
            Input n:400
            153    (1*1*1+5*5*5+3*3*3=153)
            370     (3*3*3+7*7*7=370)
            371      (3*3*3+7*7*7+1*1*1=371)

程序代码:
int RETURN_SHUXIANHUASHU(int number);
#include<stdio.h>
main()
{
  int n,m,count;
  puts("Input m & n:");
  scanf("%d%d",&m,&n);
  for(count=m;count<=n;count++){
  if(RETURN_SHUXIANHUASHU(count)==1)
  printf("%-8d",count);
}
  return 0;
}
int RETURN_SHUXIANHUASHU(int number)
{
  int sum=0,k,a,j=0;
  k=number;
  while(number!=0){
  a=number%10;
  sum+=a*a*a;
  number/=10;
}
  if(sum==k)
  j=1;
  return j;
}

搜索更多相关主题的帖子: 帖子 
2009-11-18 22:10
jiangwu10057
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:341
专家分:667
注 册:2009-3-25
收藏
得分:5 
````都做过了
2009-11-19 07:04
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:5 
很热心嘛
2009-11-19 10:05
pgy
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:C
等 级:小飞侠
威 望:8
帖 子:1248
专家分:2329
注 册:2009-9-23
收藏
得分:5 
下去自己做了调试下就OK了,干嘛帮别人写作业嘛

我可好玩啦...不信你玩玩^_^
2009-11-19 11:43
陈大师
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:231
专家分:1038
注 册:2009-11-4
收藏
得分:5 
做过了····不过你做的比较标准一点···
2009-11-19 13:25
dong152liang
Rank: 2
来 自:廊坊
等 级:论坛游民
帖 子:56
专家分:29
注 册:2009-11-8
收藏
得分:0 
提都挺经典   也做了做
2009-11-22 18:10
快速回复:五道帖子题!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017153 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved