#include <stdio.h>
sushu(int a)
{ int b;
for(b=2;b<a;b++)
{
if(a%b==0)
break;
else
return a;
}
}
int main ()
{ int n,i,sum=0;
int n=i;
printf("請輸入一個數");
scanf("%d",&n);
for(i=3;i<=n;i++)
{
i=sushu(n);
sum+=i*i;
}
printf("3~%d素數的平方和為%d",n,sum);
}
這個程式為什么當我輸入為9時,結果為81,而不是83,那里錯了,求!!!!!
uj5u.com熱心網友回復:
int n重定義,i未初始化,在用i的for里用i當作臨時變數,sushu的邏輯也有問題下面是改好的
#include <stdio.h>
int sushu(int a)
{
int b;
for (b = 2; b < a; b++)
{
if (a % b == 0)
return 0;
}
return a;
}
int main()
{
int sum = 0, n, i, tmp;
printf("請輸入一個數");
scanf_s("%d", &n);
for (i = 3; i <= n; i++)
{
tmp = sushu(i);
sum += tmp * tmp;
}
printf("3~%d素數的平方和為%d\n", n, sum);
}
uj5u.com熱心網友回復:
#include <stdio.h>
int sushu(int a)
{
int b;
for(b=2;b<a;b++)
{
if(a%b==0)
return 0;
}
return 1;
}
int main ()
{
int n,i,sum=0;
int ret;
//int n = i;
printf("請輸入一個數");
scanf("%d",&n);
for(i=3;i<=n;i++)
{
//i = sushu(n);
ret = sushu(i);
if (ret)
sum+=i*i;
}
printf("3~%d素數的平方和為%d",n,sum);
}
供參考~
uj5u.com熱心網友回復:
感謝大佬呀!
uj5u.com熱心網友回復:
感謝大佬呀!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/50727.html
標籤:C語言
上一篇:求助
下一篇:設計完整的程式實作以下功能:一個陣列有10個元素{1,8,10,2,-5,0,7,15,4,-5},利用指標作為函式引數,輸出陣列中最大和最小的元素值及其下標。
