为什么答案一样却运行不出结果
https://static01.imgkr.com/temp/24c6b9642f924099abca81ccf513b6af.jpghttps://static01.imgkr.com/temp/1fe792ff29824fab9fd9bbe6df52a7ab.jpg
https://static01.imgkr.com/temp/e593144bbb5d4a9a8903f56696b31e2e.jpg
为什么跟答案一样我的运行不出来
还有for循环时i不是大于j了吗,为什么if中可以i<=j 我感觉答案有问题,i j不可能相等,不过你可以变成
if(j == i-1)
发代码比发图片还要好{:10_245:},代码一多帮人的也懒得去敲,而且你这代码截图也不全 大马强 发表于 2022-3-2 16:59
我感觉答案有问题,i j不可能相等,不过你可以变成
代码来了,不好意思忘记了
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#define MAX 100
int fun(int lim, int aa)
{
int i,j,t=0;
for(i=0;i<=lim;i++)
{
for(j=2;j<i;j++)
{
if(i&j==0)
break;
if(i<=j)
aa=i;
}
}
return t;
}
void main()
{
FILE *wf;
int limit,i,sum;
int aa;
system("CLS");
printf("输入一个整数:");
scanf("%d",&limit);
sum=fun(limit,aa);
for(i=0;i<sum;i++)
{
if(i%10==0&&i!=0) /*每行输出10个数*/
printf("\n ");
printf("%5d ",aa);
}
/******************************/
wf=fopen("out.dat","w");
sum=fun(15,aa);
for(i=0;i<sum;i++)
{
if(i%10==0&&i!=0) /*每行输出10个数*/
fprintf(wf,"\n");
fprintf(wf,"%5d ",aa);
}
fclose(wf);
/*****************************/
}
关键是为什么视频里面的那个老师运行出来了
h-b-z-d-j-s-m 发表于 2022-3-2 18:04
代码来了,不好意思忘记了
#include
#include
还有啊j==i-1的时候素数没有2啊 #include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#define MAX 100
int fun(int lim, int aa)
{
int i,j,t=0;
for(i=2;i<=lim;i++)
{
for(j=2;j<=i;j++) // 不等于2就找不到
{
if(i==2 || j==i-1)
aa=i;
if(i%j==0) // 原先是 & ,取余是 %
break;
}
}
return t;
}
void main()
{
FILE *wf;
int limit,i,sum;
int aa;
system("CLS");
printf("输入一个整数:");
scanf("%d",&limit);
sum=fun(limit,aa);
for(i=0;i<sum;i++)
{
if(i%10==0&&i!=0) /*每行输出10个数*/
printf("\n ");
printf("%5d ",aa);
}
/******************************
wf=fopen("out.dat","w");
sum=fun(15,aa);
for(i=0;i<sum;i++)
{
if(i%10==0&&i!=0) /*每行输出10个数*
fprintf(wf,"\n");
fprintf(wf,"%5d ",aa);
}
fclose(wf);
/*****************************/
}
页:
[1]