| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1058 人关注过本帖
标题:一个小程序看了几小时了 求高手解决
只看楼主 加入收藏
dysdle
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2011-11-8
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:11 
一个小程序看了几小时了 求高手解决
#include<stdio.h>
#include<math.h>
                                        //输出a,b之间的所有质数
 void main()
 {
     int a,b;
     
     do{
     if(a<b||a>=10||b>=10||a<1000||b<1000)
     printf("请按要求输入a,b的值\n");
     printf("输入a的值(1-1000之间)\n");
     scanf("%d",&a);
     printf("输入b的值(1-1000之间)\n");
     scanf("%d",&b);
     }while(a>b||a<=10||b<=10||a>1000||b>1000);
   
       for(int i=a;i<=b;i++)
       {
           for(int j=2;j<b;j++)
          {
            if(i%j!=0&&i!=j)
            printf("%d\n",i);
          }
       }
 }

那点不对?
搜索更多相关主题的帖子: include 
2011-11-08 21:11
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:3 
这是什么破代码呀?

总有那身价贱的人给作业贴回复完整的代码
2011-11-08 21:28
dysdle
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2011-11-8
收藏
得分:0 
就是输出a,b之间的所有质数
2011-11-08 21:34
huanega
Rank: 3Rank: 3
来 自:内蒙古
等 级:论坛游侠
帖 子:117
专家分:192
注 册:2011-11-4
收藏
得分:3 
a和b都没有初始化  定义改成  a=0,b=0;不过你的程序问题太大了,do  while 那块是不对的,有if判断了,那样会永远循环,因为没等你输入a值呢,就先判断if里的内容了!需要改正

兴趣是编程最好的老师
2011-11-08 21:59
幻影逍遥
Rank: 2
等 级:论坛游民
帖 子:23
专家分:24
注 册:2011-10-31
收藏
得分:3 
LZ要输出的是偶数吧。
     do{
     if(a<b||a>=10||b>=10||a<1000||b<1000)
     printf("请按要求输入a,b的值\n");
     printf("输入a的值(1-1000之间)\n");
     scanf("%d",&a);
     printf("输入b的值(1-1000之间)\n");
     scanf("%d",&b);
     }while(a>b||a<=10||b<=10||a>1000||b>1000);
a,b的值还没输入,怎么就先用if判断?
a<b||a>=10||b>=10||a<1000||b<1000这个语句也有问题。
楼主好好考虑吧。
2011-11-08 22:06
森淼
Rank: 2
来 自:甘肃金昌
等 级:论坛游民
帖 子:10
专家分:17
注 册:2011-11-8
收藏
得分:3 
do{
     if(a<b||a>=10||b>=10||a<1000||b<1000)
这有错,因为你定义了变量之后,没有初始化,它们没有初值,所以不能用if语句判断

闲看庭前花开花落
漫随天外云卷云舒
2011-11-08 22:15
dysdle
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2011-11-8
收藏
得分:0 
a=b=0 粘贴是忘了。主要不是这个问题哟!!
2011-11-08 22:37
luojie5683
Rank: 2
来 自:重庆
等 级:论坛游民
帖 子:69
专家分:49
注 册:2011-10-10
收藏
得分:3 
不懂要表达的是什么意思
2011-11-08 22:39
boxkey
Rank: 1
等 级:新手上路
帖 子:4
专家分:6
注 册:2011-11-8
收藏
得分:3 
修改了你看看
程序代码:
#include<stdio.h>
#include<math.h>
                                     /*输出a,b之间的所有质数 */
int IsPrime(int n)
{
    int i, j;
    if (2 == n)
        return 1;
    else if (0 == n%2)
        return 0;
    else
    {
        j = (int)sqrt(n + 1);
        for (i = 3; i <= j; i +=2)
            if (0 == n%i)
                return 0;
    }
    return 1;
}

void main()
{
    int a,b;
    printf("请按要求输入a,b的值\n输入a的值(1-1000之间)\n");
    scanf("%d",&a);
    printf("输入b的值(1-1000之间)\n");
    scanf("%d",&b);
    if((a<=b)&&(a<=1000)&&(b<=1000)&&(a>=1)&&(b>=1))
    {
        for(;a<=b;a++)
        {
            if(1 == IsPrime(a))
                printf("%d,",a);
        }
    }
    getch();
}


[ 本帖最后由 boxkey 于 2011-11-8 23:41 编辑 ]
2011-11-08 23:15
boxkey
Rank: 1
等 级:新手上路
帖 子:4
专家分:6
注 册:2011-11-8
收藏
得分:0 
 
 
 
 
 
 
 
 
 
2011-11-08 23:19
快速回复:一个小程序看了几小时了 求高手解决
数据加载中...
 
   



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

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