| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 618 人关注过本帖
标题:[求助]用函数怎么解决~~谢谢刚才回复的 但是我们没有学习conio这个~郁闷
只看楼主 加入收藏
onetomorrow
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2007-4-7
收藏
 问题点数:0 回复次数:5 
[求助]用函数怎么解决~~谢谢刚才回复的 但是我们没有学习conio这个~郁闷

编写一函数,输出整数m的全部素数因子 ;例如m=120的因子为 2,2,2,3,5

不懂这道题用函数怎么写啊~

谢谢大家帮个忙 麻烦了啊

[此贴子已经被作者于2007-5-7 16:21:36编辑过]

搜索更多相关主题的帖子: conio 函数 学习 
2007-05-07 14:22
liulanghan
Rank: 1
等 级:禁止访问
帖 子:104
专家分:0
注 册:2007-5-5
收藏
得分:0 

#include <stdio.h>
#include <conio.h>
const int N=6;
const int M=8;
void main()
{ int a[N][M];
int k=0, m=0, v=1;
int direction = 0; //0:right; 1:down; 2:left; 3:up

while(v<=N*M)
{ a[k][m] = v;
v++;
switch(direction)
{
case 0: m++;
if(m==M-1-k)
direction = 1;
break;
case 1: k++;

if(k==N-1-(M-1-m))
direction = 2;
break;
case 2: m--;
if(m==N-1-k)
direction = 3;
break;
case 3: k--;
if(k==1+m)
direction = 0;
break;
}
}
for(k=0; k<N; k++)
{
for(m=0; m<M; m++)
printf("%3d", a[k][m]);
printf("\n");
}
}
我给出一个比较差的算法你看看,我也初学者,暂时还没想到好的算法呢!

2007-05-07 15:34
liulanghan
Rank: 1
等 级:禁止访问
帖 子:104
专家分:0
注 册:2007-5-5
收藏
得分:0 

#include <stdio.h>
#include <conio.h>
const int N=6;
const int M=8;
void main()
{ int a[N][M];
int k=0, m=0, v=1;
int direction = 0; //0:right; 1:down; 2:left; 3:up

while(v<=N*M)
{ a[k][m] = v;
v++;
switch(direction)
{
case 0: m++;
if(m==M-1-k)
direction = 1;
break;
case 1: k++;

if(k==N-1-(M-1-m))
direction = 2;
break;
case 2: m--;
if(m==N-1-k)
direction = 3;
break;
case 3: k--;
if(k==1+m)
direction = 0;
break;
}
}
for(k=0; k<N; k++)
{
for(m=0; m<M; m++)
printf("%3d", a[k][m]);
printf("\n");
}
}
不好意思,发错代码了,这个才是的!

2007-05-07 15:36
liulanghan
Rank: 1
等 级:禁止访问
帖 子:104
专家分:0
注 册:2007-5-5
收藏
得分:0 

晕,怎么搞的啊,那代码老发不上去的。
说下我的思路吧。
i的初值为2,先判断m%i是否为0,若为0,i ++,然后执行m=m/i,然后输出m,无限次循环,直到m=1时终止循环。

2007-05-07 15:40
我是菜鸟哦
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:921
专家分:209
注 册:2007-5-4
收藏
得分:0 

循环.........
索数不包括1和自己啊??
#include <stdio.h>
int main()
{
int i,n,m,j,p=2;
scanf("%d",&m);
j=m;
printf("ss is :");
for(i=2;i<j;i++)
{
n=m%i;
if(n==0)
{
m/=i;
printf("%d ",i);
i--;
}
p++;
}
if(i==p)
printf("none\n");
getch();
}
这个可以,不过好象效率不怎么样,可以改进,我今天没时间了,以后上来再看下。


偶是菜鸟鸟偶惧WHO?!!!!
2007-05-07 17:03
我是菜鸟哦
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:921
专家分:209
注 册:2007-5-4
收藏
得分:0 
这个是函数形式,改动挺简单的我想你会。。。。。。。。
#include <stdio.h>
int ss(int m)
{
int i,n,j,p=2;
scanf("%d",&m);
j=m;
printf("ss is :");
for(i=2;i<j;i++)
{
n=m%i;
if(n==0)
{
m/=i;
printf("%d ",i);
i--;
}
p++;
}
if(i==p)
printf("none\n");
getch();
}

偶是菜鸟鸟偶惧WHO?!!!!
2007-05-07 17:05
快速回复:[求助]用函数怎么解决~~谢谢刚才回复的 但是我们没有学习conio这个~郁 ...
数据加载中...
 
   



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

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