为啥输出是0
#include<stdio.h>#include<stdlib.h>
#include<string.h>
#include<math.h>
int judge(int m)
{
int c=0;
int i,j;
for(i=2;i<m;i++)
{
if(m%i==0);
{
return c;
}
}
c+=1;
return c;
}
int main()
{
int num=0;
int i,j=1,t=0,z,a;
a==2;
for(i=3;i<2000;i++)
{
z=judge(i);
if(z==1)
{
a=i;
j++;
}
}
for(i=0;i<1000;i++)
{
a=a-a;
}
for(i=0;i<1000;i++)
{
j=i;
while(a<1898&&t<=1000)
{
a+=a;
j++;
t=j;
}
if(a==1898)
num+=1;
}
printf("%d",num);
return 0;
} 本帖最后由 风过无痕1989 于 2020-12-26 20:28 编辑
第12行后面多了一个分号
第25 行应该是赋值 号吧? 我调整到了第42行,后面的,因为不知道你的想法,调试起来有些困难,你自己慢慢调试吧
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
int judge(int m) // 判断是否是素数
{
int c = 0;
int i, j;
for (i = 2;i < m;i++)
{
if (m % i == 0) // 不是素数,返回 0
{
return c;
}
}
c = 1; // 是素数,返回 1
return c;
}
int main()
{
int num = 0;
int i, j = 1, t = 0, z, a;
a = 2;
for (i = 3;i < 2000;i++)
{
z = judge(i); // 调用函数判断 i 是否是素数
if (z == 1)
{
a = i; // 是素数,将 i 存入数组
j++; // 存入素数个数
}
}
z = j; // 将素数总数赋给变量 z
for (i = 0;i < z;i++) // 为调试所加,输出所有的素数
{
a = a - a;
}
for (i = 0;i < z;i++)
{
j = i;
while (a<1898 && t <= 1000)
{
a += a;
j++;
t = j;
}
if (a == 1898)
num += 1;
}
printf("%d", num);
return 0;
} 风过无痕1989 发表于 2020-12-26 21:10
我调整到了第42行,后面的,因为不知道你的想法,调试起来有些困难,你自己慢慢调试吧
啧,就是你说的那个问题呀,最近写程序老是犯这样的问题{:10_312:} 一世轻尘 发表于 2020-12-26 21:35
啧,就是你说的那个问题呀,最近写程序老是犯这样的问题
我上面的程序帖子,帮你将循环变量的上限改了
页:
[1]