我想要为每10个输入分隔程序的输出(打印)。代码是找到从1到n的素数以及它们的中位数。在单独的行中打印每个范围10中的素数
我只是想打印像n的每个10个分开计数:
primes from 1 to 10:
from 10 to 20:
from 20 to 30:
你能帮我做这件事吗?
#include <stdio.h>
int main()
{
int n, x, y, p, sum, sumx;
float arm;
sum = 0, sumx = 0;
printf("\n Enter the maximum value of n =");
scanf("%d", &n);
printf("\n All prime numbers from 1 to %d are: ", n);
for (x = 2; x <= n; x++)
{
p = 1;
for (y = 2; y <= x/2; y++)
{
if (x % y == 0)
{
p = 0;
break;
}
}
if (p == 1)
{
sum += x;
}
if (p == 1 && x != 1)
{
printf("%d ", x);
sumx++;
arm = (sum * 1.0)/sumx;
}
}
printf("\nThe sum of all Prime numbers from 1 to %d =%d", n, sum);
printf("\nTotal prime numbers is %d", sumx);
printf("\nThe median of all Prime numbers from 1 to %d is %.2f", n, arm);
return 0;
}
您发布的代码有什么问题?请[编辑](http://stackoverflow.com/posts/41406094/edit)您的问题并添加该信息。 – MJH
试着解释更多。 –
幸运的是,没有以0结尾的素数,因此重叠范围(1..10与10..20重叠)不存在问题。你必须经常安排输出换行符。范围200..210是来自'x * 10 ..(x + 1)* 10'的第一个范围,没有任何素数(但是199和211是素数)。你期望在那个空虚的十年里产生一条空白线路吗?请注意,中位数是按排序顺序排列的中间数 - 您似乎计算的是平均数,而不是中位数。 –