| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2119 人关注过本帖
标题:[求助]几道简单的C语言作业题
只看楼主 加入收藏
nicknickwang
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-6-5
收藏
 问题点数:0 回复次数:16 
[求助]几道简单的C语言作业题
1
#include"math.h"
main()
{int a=0,k;
float av;
for(k=2;k<=1000;k++)
if((fun)k)
a+=k;
av=a/1000;
printf("av=%f\n",av);
}
fun(int n)
{int i,y=0;
for(i=2;i<n;i++)
if(n%i==0) y=1;
else y=0;
return y;
}
fun函数是一个判断整数是否为素数的函数,使用该函数求1000以内的素数的平均值.把以上函数改为正确的.


2 编写一个求水仙花数的函数,求3位正整数的全部水仙花数中的次大值.所谓水仙花数是指三位整数的各位上的数字的立方和等于该数本身.如153=1^3+5^3+3^3.
3 编写一个函数,对输入的整数K输出它的全部素数因子.例如当K=126时,素数因子为:2,3,3,7.
4编写一个递归函数,实现将任意的十进制正整数转化为八进制数.

先谢谢各位了 ..^_^
搜索更多相关主题的帖子: C语言 水仙花 素数 作业 函数 
2007-06-09 08:51
我是菜鸟哦
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:921
专家分:209
注 册:2007-5-4
收藏
得分:0 

#include <stdio.h>
main()
{
int fun(int);
int y;
scanf("%d",&y);
fun(y);
}

fun(int m){

static int a[5],i=4;
a[i--]=m%8;
if(m<8){ while(i<5) printf("%d",a[i++]); exit(0);}
fun(m>=8?(m/=8):m);
}
第4个,没优化,自己想想再.......


偶是菜鸟鸟偶惧WHO?!!!!
2007-06-09 10:26
风之舞鹤
Rank: 1
等 级:新手上路
帖 子:180
专家分:0
注 册:2007-6-2
收藏
得分:0 
#include"math.h"
main()
{
int k;
float av,a=0;int fun(int n);
for(k=2;k<=1000;k++)
if(fun(k)==0)
a+=k;
av=a/1000;
printf("av=%f\n",av);
}
int fun(int n)
{
int i,y=0;
for(i=2;i<=n/2;i++)
if(n%i==0) y=1;
else y=0;
return y;
}

2007-06-09 14:19
nicknickwang
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-6-5
收藏
得分:0 
还有第二题和第三题啊???

2007-06-10 09:33
liulanghan
Rank: 1
等 级:禁止访问
帖 子:104
专家分:0
注 册:2007-5-5
收藏
得分:0 
都是和循环有关的啊,不怎么难的吧,你自己可以试试。
2. for(i=100;i<1000;i++)
{
a=i/10; /*分离出个位的数字*/
b=i%100/10; /*分离出个位的数字*/
c=i/100; /*分离出个位的数字*/
if(i==a*a*a+b*b*b+c*c*c) /*找出水仙花数*/
printf(" "); /打印水仙花数*/
}
3. for(i=2;i<=num;i++)
{
if((num%i)!=0) continue;
printf("%d",i); /*打印因子*/
}
2007-06-10 10:17
nicknickwang
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-6-5
收藏
得分:0 
最好是把整个程序告诉我,初学啊,还不太会。。

2007-06-11 10:01
xici_magic
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-6-11
收藏
得分:0 
5楼正解..
2007-06-11 13:21
liulanghan
Rank: 1
等 级:禁止访问
帖 子:104
专家分:0
注 册:2007-5-5
收藏
得分:0 
以下是引用nicknickwang在2007-6-11 10:01:00的发言:
最好是把整个程序告诉我,初学啊,还不太会。。

初学的最好自己先写的试试,如果实在写不出来再去看答案,这样好一点。我也是学C不久的哦,有兴趣的话一起探讨的QQ:51295221

2007-06-11 15:25
胖子小张
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-6-11
收藏
得分:0 
我刚开始学C 希望有高手老师们教我们!我建了一个群ㄗs高手灬講臺 群号11600184 本群主要给大家提供一个计算机编程学习交流的平台,希望高手倾囊相授

学习经验 努力解决问题 发现问题
2007-06-11 21:42
夜中梦
Rank: 1
等 级:新手上路
帖 子:132
专家分:0
注 册:2007-5-12
收藏
得分:0 
以下是引用nicknickwang在2007-6-9 8:51:04的发言:
1
#include"math.h"
main()
{int a=0,k;
float av;
for(k=2;k<=1000;k++)
if((fun)k)
a+=k;
av=a/1000;有问题吧,a/1000是float型吗?
printf("av=%f\n",av);
}
fun(int n)
{int i,y=0;
for(i=2;i<n;i++)
if(n%i==0) y=1;
else y=0;
return y;
}
fun函数是一个判断整数是否为素数的函数,使用该函数求1000以内的素数的平均值.把以上函数改为正确的.


2 编写一个求水仙花数的函数,求3位正整数的全部水仙花数中的次大值.所谓水仙花数是指三位整数的各位上的数字的立方和等于该数本身.如153=1^3+5^3+3^3.
3 编写一个函数,对输入的整数K输出它的全部素数因子.例如当K=126时,素数因子为:2,3,3,7.
4编写一个递归函数,实现将任意的十进制正整数转化为八进制数.

先谢谢各位了 ..^_^


2007-06-11 21:51
快速回复:[求助]几道简单的C语言作业题
数据加载中...
 
   



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

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