| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 535 人关注过本帖
标题:在vc6.0中正常运行,在c中却不成功!
只看楼主 加入收藏
wwwjw
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2007-12-28
结帖率:33.33%
收藏
 问题点数:0 回复次数:2 
在vc6.0中正常运行,在c中却不成功!
我想编一个求素数的程序。功能是等待输入起始和末尾的数字,然后输出其间的素数,这是源程序。程序1是我从网上找到的一个程序,2是我自己根据1编的,基本上是一模一样,可第一个程序就可以在win-tc中运行成功,第2个却不可以,只是黑窗口闪一下,并且窗口上好像什么输出也没有,我把我自己编的那个程序即程序2放到vc6.0中编译结果成功运行,这是什么原因呢?下面分别是我从网上复制的源程序1和我自己编写的程序2:
1
#include<stdio.h>
int main()
{
int n1,nm,i,j,flag,count=0;
do{
printf("Input START and END=?");
scanf("%d%d",&n1,&nm); /*输入求素数的范围*/
}while(!(n1>0&&n1<nm)); /*输入正确的范围*/
printf("...........PRIME TABLE(%d--%d)............\n",n1,nm);
if(n1==1||n1==2) /*处理素数2*/
{
printf("%4d",2);
n1=3;count++;
}
for(i=n1;i<=nm;i++) /*判定指定范围内的整数是否为素数*/
{
if(!(i%2))continue;
for(flag=1,j=3;flag&&j<i/2;j+=2)
/*判定能否被从3到整数的一半中的某一数所整除*/
if(!(i%j))flag=0; /*若能整除则不是素数*/
if(flag) printf(++count%15?"%4d":"%4d\n",i);

}
getch();
}
2.
#include<stdio.h>
main()
{
int i,j,flag,s,e,count=0;
printf("Input start and end:");
scanf("%d%d",&s,&e);
printf("..................prime table...............");
if(s==1||s==2)
{
printf("\n%4d",2);
s=3;count++;
}
for(i=s;i<=e;i++)
 {
   if(!(i%2)) continue;
   for(flag=1,j=3;flag&&j<i/2;j+=2)
     if(!(i%j)) flag=0;
   if(flag)
   printf("\n%4d",i);
 }
getch();
}

请高手指点一下!在这先谢了!
搜索更多相关主题的帖子: 素数 int 运行 
2008-04-08 15:57
winnerwxin
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-4-2
收藏
得分:0 
你第2个程序没问题吧...刚在机器上用TC上运行了一下~~ 一切正常~~ 你是不是输入时有什么错误呢?
2008-04-08 16:06
zmhdxy
Rank: 1
等 级:新手上路
帖 子:452
专家分:0
注 册:2007-9-27
收藏
得分:0 
第二个程序正常 你输入的时候 要加个空格 或者是回车

2008-04-08 16:12
快速回复:在vc6.0中正常运行,在c中却不成功!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014389 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved