永发信息网

照是这个问题,为什么当输入100的时候前面的一部分该有的东西不见啦?

答案:2  悬赏:40  手机版
解决时间 2021-04-13 13:31
  • 提问者网友:绫月
  • 2021-04-12 15:49

#include "stdio.h"
#include "math.h"

void main()
{
int i,n,k,j,d=1,a[1000],p=0,x,y;
printf("输入需输出的偶数的范围n=");
scanf("%d",&n);
while(n<=6){
if(n<=6)printf("输入有误");
scanf("%d",&n);
}

printf("%d范围内的质数如下:\n",n);
printf(">>===================================<<\n");
for(i=2;i<=n;i++)
{
k=sqrt(i); //... 前面加个(int)干嘛...
for(j=2;j<=k;j++)
{
if(i%j==0)break;
}
if(j>k)
{
printf("%5d",i);
a[p++]=i; //数组下标要增加...
d++;
}
if(d%6==0)
{
printf("\n");
d=1;
}
}
printf("\n");
printf(">>====================================<<\n");

for(i=6;i<=n;i++)
{
for(x=0;x<=p;x++){
for(y=0;y<=p;y++){
if(a[x]+a[y]==i)//*******这行有什么问题?为什么不执行if里面的语句?
{
printf("%d= %d+%d \n",i,a[x],a[y]);
break;
}
}
}
i++;
printf("\n");
}
}
效果图如下:

最佳答案
  • 五星知识达人网友:長槍戰八方
  • 2021-04-12 16:07
点击控制台窗口->右键->默认值->布局->屏幕缓冲区大小
把高度的值设大一点,就能看到了

结果是有的,只不过由于你的默认屏幕缓冲区高度太小,所以超过的部分就被截断了
全部回答
  • 1楼网友:英雄的欲望
  • 2021-04-12 17:05

很明显.输出的内容太多. 超出了显示范围.

你可以在命令提示符的标题栏上右击--选择属性--在布局当中将缓冲区的高度设置得大一些.

如图:

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯