我想要爲每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是素數)。你期望在那個空虛的十年裏產生一條空白線路嗎?請注意,中位數是按排序順序排列的中間數 - 您似乎計算的是平均數,而不是中位數。 –