怎么翻屏啊???????????

软件和网站开发以及相关技术探讨
头像
wshn13
帖子: 27
注册时间: 2008-09-06 22:08

怎么翻屏啊???????????

#1

帖子 wshn13 » 2010-03-22 16:17

一个计算质数的程序 计算结果很长 屏幕只能显示一部分 怎么看上面的没有显示的结果啊 :em06 :em06 :em06
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 怎么翻屏啊???????????

#2

帖子 eexpress » 2010-03-22 16:28

less more?
● 鸣学
头像
wshn13
帖子: 27
注册时间: 2008-09-06 22:08

Re: 怎么翻屏啊???????????

#3

帖子 wshn13 » 2010-03-22 16:44

具体啊 谁知道啊
JiangHui
论坛版主
帖子: 21308
注册时间: 2007-08-02 20:29
系统: 窓辺とうこ

Re: 怎么翻屏啊???????????

#4

帖子 JiangHui » 2010-03-22 16:45

重定向或者管道啊
头像
wshn13
帖子: 27
注册时间: 2008-09-06 22:08

Re: 怎么翻屏啊???????????

#5

帖子 wshn13 » 2010-03-22 17:54

楼上详细一点啊
头像
leeaman
帖子: 30702
注册时间: 2007-02-02 18:14
系统: debian sid

Re: 怎么翻屏啊???????????

#6

帖子 leeaman » 2010-03-22 19:41

这个输出一定行数暂停应该不是什么大问题吧? :em06
醉了星星,醉月亮●●●●●The Long Way To Go(*^_^*)
delectate
帖子: 18311
注册时间: 2008-01-09 22:41

Re: 怎么翻屏啊???????????

#7

帖子 delectate » 2010-03-22 19:45

more
dshbusiness
帖子: 1831
注册时间: 2009-04-03 15:10

Re: 怎么翻屏啊???????????

#8

帖子 dshbusiness » 2010-03-22 20:50

例如你的程序名字叫做abc
那么这么执行:
$abc > abc.result
或者
$abc | less
或者
$abc | more
dshbusiness
帖子: 1831
注册时间: 2009-04-03 15:10

Re: 怎么翻屏啊???????????

#9

帖子 dshbusiness » 2010-03-22 20:50

对了,能不能把你计算质数的源代码贴上来看看?
头像
wshn13
帖子: 27
注册时间: 2008-09-06 22:08

Re: 怎么翻屏啊???????????

#10

帖子 wshn13 » 2010-03-22 21:41

我的源代码 大家凑合看 我是新手 哈哈

代码: 全选

#include<stdio.h>
#include<math.h>
void main()
{
  int a,c,i,k,b=1;
  float f=0,g;
  printf("This is the program for prime number\n");
  printf("-----------------------------------------------------------------\n");
  printf("Please input the number \n");
  scanf("%d",&a);
  printf("-2-");
  for(i=3;i<=a;i++)
  {
    f=sqrt(i);
    c=0;
    for(k=2;k<=f;k++)
    {
     c=!(i%k)+c;
    }
    if(c==0)
    {
      printf("-%d-",i);
      b++;
    }
  }
  g=(float)b/a;
  printf("\nThe total is %d !\nThe rate of prime number is %8.4f %\n",b,100*g);
  printf("-----------------------------------------------------------------\n");
}
上次由 wshn13 在 2010-03-22 22:18,总共编辑 1 次。
头像
wshn13
帖子: 27
注册时间: 2008-09-06 22:08

Re: 怎么翻屏啊???????????

#11

帖子 wshn13 » 2010-03-22 21:48

就是说计算的结果有1000行的话 我只能看到最后的20行左右 怎么看到中间的行啊 在控制台下
头像
wshn13
帖子: 27
注册时间: 2008-09-06 22:08

Re: 怎么翻屏啊???????????

#12

帖子 wshn13 » 2010-03-23 10:06

有人回答吗 啊啊啊啊啊
JiangHui
论坛版主
帖子: 21308
注册时间: 2007-08-02 20:29
系统: 窓辺とうこ

Re: 怎么翻屏啊???????????

#13

帖子 JiangHui » 2010-03-23 10:08

给了关键字被无视了

8楼回答了也被无视了
头像
maonx
帖子: 206
注册时间: 2008-09-09 16:39
联系:

Re: 怎么翻屏啊???????????

#14

帖子 maonx » 2010-03-23 10:11

用shift+pgup,pgdn
dshbusiness
帖子: 1831
注册时间: 2009-04-03 15:10

Re: 怎么翻屏啊???????????

#15

帖子 dshbusiness » 2010-03-23 13:24

wshn13 写了:有人回答吗 啊啊啊啊啊
我在8楼回答你了啊……
另外你的算法太弱了……再想想好的吧
1 例如……有必要从2开始一直除到根号N吗?除了2以外所有的质数都是奇数。
2 初等数论已经证明过,所有的合数都可以表示为若干质数的积,那么是不是建立一张列表来保存已经算出来的质数,然后用已经得到的质数去验证新的数字是不是质数更快呢?
3 如果想要结果很多,那么可以考虑使用unsigned long long int来代替int,这样计算范围会大很多
4 可以再考虑考虑空间和时间的平衡问题,如果自行设计数据类型,那么程序可以扩展到计算任意大小的质数。

以上是算法方面的
5 不要使用void main,使用int main
6 for循环中不要使用整形和浮点型比较……因为不知道哪天结果会变
7 用浮点型的来保存开方值是没有必要的,用整形就可以了
回复