| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 722 人关注过本帖
标题:新人关于while和for循环同时出现在函数中的一个简单问题。
只看楼主 加入收藏
龙年生
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2008-3-8
收藏
 问题点数:0 回复次数:3 
新人关于while和for循环同时出现在函数中的一个简单问题。
下面函数fun()主要是求大于m且仅靠m的k个非负数存入数组xx[]
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
void fun(int m,int k,int xx[])
{
 int i,j=0;
while(j<k)
 {
  m++;
 for(i=2;i<m;i++)
  if(m%i==0)
   {
    xx[j++]=m;
    break;
   }
 }
}
void main()
{
 int m,n,zz[1000];
 printf("\nPlease enter two intergers:");
 scanf("%d%d",&m,&n);
 fun(m,n,zz);
 for(m=0;m<n;m++)
  printf("%d",zz[m]);
 printf("\n");
}
此程序本身编译没错误,但是运行不出来结果,问题出现在fun()循环内,请指点!最好详细点。
搜索更多相关主题的帖子: 函数 简单问题 新人 
2008-03-08 20:37
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
while(j<k)
{
  m++;
for(i=2;i<m;i++)
  if(m%i==0)
   {
    xx[j++]=m;
    break;
   }
我没看懂,M++和BREAK是什么意思?
2008-03-08 20:56
xianshizhe111
Rank: 1
等 级:新手上路
帖 子:1451
专家分:0
注 册:2007-12-8
收藏
得分:0 
/*不知是不是你的原义*/
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
void fun(int m,int k,int xx[])
{
int i,j=0;
while(j<k)
{
  m++;
for(i=2;i<m;i++)
  if(m%i>=0) /* 等于0 偶数跳过*/
   {
    xx[j++]=m;
    break;
   }
}
}
void main()
{
int m,n,zz[1000];
printf("\nPlease enter two intergers:");
scanf("%d%d",&m,&n);
fun(m,n,zz);
for(m=0;m<n;m++)
  printf("%d ",zz[m]);
printf("\n");
}
/* 输入 3 5,输出 4,5,6,7,8 */
2008-03-08 21:13
龙年生
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2008-3-8
收藏
得分:0 
我的原意:输入 3 5,输出的是 4,,6,8,9,10 这5个非素数。
2008-03-11 12:51
快速回复:新人关于while和for循环同时出现在函数中的一个简单问题。
数据加载中...
 
   



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

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