c语言求素数个数

怎么在下段代码后面打印出如图功能,看得头都大了= =

#include <stdio.h>
#include<time.h>
#include<stdlib.h>
#include<math.h>
int prime(int x)
{
int i,n;
for(i=2;
i<=(int)sqrt(x);
i++) if(x%i==0)
return 0;
return 1;
}
void main()
{
int n,i,j;
srand(time(0));
n=rand()%100+1;/*随机函数*/
printf("产生的随机数为%d\n",n);
printf("不大于%d的素数序列如下\n",n);
if(n>2)
{
printf("%4d",2);
j++;
}
for(i=3;i<=n;i+=2)
if(prime(i)==1)
{
printf("%4d",i);
if(j!=0 && ++j%10==0)
printf("\n");
}
printf("\n");
}

原代码写的很不错,以下是按你要求改的,辛苦打来,望采纳,谢谢!

#include <stdio.h>
#include<time.h>
#include<stdlib.h>
#include<math.h> 
int prime(int x)
{
int i,n; 
for(i=2;i<=(int)sqrt(x);i++)if(x%i==0)return 0; 
return 1;
}
void main()

int n=0,i=0,j=0;
char counter=1;
int sum=0;
srand(time(0));
n=rand()%100+1;/*随机函数*/
printf("产生的随机数为%d\n",n);
printf("不大于%d的素数序列如下\n",n); 
if(n>2)

printf("%4d",2);
j++;

for(i=3;i<=n;i+=2) 
{
if(prime(i)==1)

printf("%4d",i);
counter++;
sum+=i;
if(j!=0 && ++j%10==0) 
{
printf("\n"); 
}
}
}
printf("\n"); 
printf("序列中素数的个数为%d\n",counter);
printf("序列中素数的平均值为%0.4f\n",(float)sum/(float)counter);
}

温馨提示:答案为网友推荐,仅供参考