| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 361 人关注过本帖
标题:大家帮我看一下到底哪里出错了
取消只看楼主 加入收藏
x6988312
Rank: 1
等 级:新手上路
帖 子:46
专家分:5
注 册:2012-3-26
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:0 
大家帮我看一下到底哪里出错了
要求产生1000~5000之间的100个随机数,找出其中的素数。用冒泡法对找出的数进行排序。请将产生的随机数,找出的素数,和排好序后的素数分别输出,小弟我只能输出前面两个要求的数组,最后一个排序却显示abnormal program termination.不知道是怎么回事。大家帮我看一下
# include <stdio.h>
# include <stdlib.h>
# include <math.h>
# include <time.h>
int main()
{int a,b,c[100];
printf("random number\n");
srand((unsigned)time(0));
for(a=0;a<100;a++)
{b=rand()%4001+100;
printf("%d ",b);
c[a]=b;
}
printf("\n random prime number\n");
sui1(c);
return 0;
}
int sui1(int c[50])
{int a,b,d,e,f=0,g[50];
for(a=0;a<100;a++)
{
b=(int)sqrt(c[a]);
for(d=2;d<=b;d++)
{if(c[a]%d==0)
break;
if(d>=b)
{printf("%d ",c[a]);
g[f]=c[a];
f=f+1;}}
}
printf("\n sequentail prime number\n");
sui2(g);
return 0;
}
int sui2(int g[50])
{int b,c,d,e;
for(b=0;b<49;b++)
{for(d=0;d<=49-b;d++)
{if(g[d]>g[d+1])
{c=g[d];
g[d]=g[d+1];
g[d+1]=c;}
}}
for(e=0;e<50;e++)
{if(g[e]==!0)
printf("%d ",g[e]);
}
return 0;
}
本人菜鸟,初学C语言。这个程序为什么编译有错误
望大神指点一下

[ 本帖最后由 x6988312 于 2012-5-9 18:22 编辑 ]
搜索更多相关主题的帖子: include number 
2012-05-09 18:14
快速回复:大家帮我看一下到底哪里出错了
数据加载中...
 
   



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

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