c语言改错;求1000以内的素数,要求输出时每行6个数

[复制链接]
查看11 | 回复1 | 2009-8-7 11:17:52 | 显示全部楼层 |阅读模式
#include"stdio.h"int f(int i){ int k,n=1; for(k=2;k<i;k++) {if(i%k==0){
n=0;
break;} } return n;}main(){ int i,j=1,a[200]={2},k;//不止一百个!!!!!!!!!!!!!!
for(i=3;i<1000;i+=2) {k=f(i);if(k){ a[j]=i; j++;} } for(i=0;i<j;i++) {printf(" %d ",a);if(i%6==0) puts(""); }}
回复

使用道具 举报

千问 | 2009-8-7 11:17:52 | 显示全部楼层
1000以内的素数不止100个,a太小了,放不下,当然越界错误,改大点就行了.另外输出也要改下,每个数后加个空格,不然全挤在一起了.每6个换行也有问题,应该改成i%6==5时换行
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行