| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 646 人关注过本帖
标题:这段代码问题错在哪?求大侠解答
只看楼主 加入收藏
caixiaoyu012
Rank: 1
等 级:新手上路
帖 子:6
专家分:8
注 册:2011-11-4
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
这段代码问题错在哪?求大侠解答
#include <stdio.h>

void main()

{
   int a, b, c;
   printf("input a number\n");
   scanf("%d", &a);              
   c = sqrt(a);                                      求解1:输入a,单步调试后,a的开根值为639.。???
   for(b = 2; b <= c; b++)                             
   {
           if(a % c == 0)                         求解2;这个循环里面c=639.。。b要循环到b=639才会跳出。
           {
                   break;
           }
   }
   if(b > c)                                                求解3; 这时这个b也是639,c也是639.。表达式不成立。
           printf("%d is a prime number\n", a);       打印下面的eles,这个不是素数。。        
   else
           printf("%d is not a prime number\n", a);   但是我输入的101应该是个素数啊。。

}                                                                     
搜索更多相关主题的帖子: include number 
2011-11-04 15:20
fedcab123
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:168
专家分:100
注 册:2011-9-3
收藏
得分:4 
貌似开根号要的头文件你没打吧?
2011-11-04 15:24
caixiaoyu012
Rank: 1
等 级:新手上路
帖 子:6
专家分:8
注 册:2011-11-4
收藏
得分:0 
回复 2楼 fedcab123
不是重点
2011-11-04 15:30
爱闹的娃
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:265
专家分:975
注 册:2011-10-23
收藏
得分:4 
101是一个素数啊,我能调试出来,这程序貌似没有问题得,你记得加#include "math.h"
程序代码:
#include "stdio.h"
#include"math.h"
void main()

{
   int a, b, c;
   printf("input a number\n");
   scanf("%d", &a);             
   c = sqrt(a);                                      /*求解1:输入a,单步调试后,a的开根值为639.。???*/
   for(b = 2; b <= c; b++)                            
   {
           if(a % c == 0)                        /* 求解2;这个循环里面c=639.。。b要循环到b=639才会跳出。*/
           {
                   break;
           }
   }
   if(b > c)                                                /*求解3; 这时这个b也是639,c也是639.。表达式不成立。 打印下面的eles,这个不是素数。。    */ 
           printf("%d is a prime number\n", a);       
   else
           printf("%d is not a prime number\n", a);  /* 但是我输入的101应该是个素数啊。。*/

}                  

2011-11-04 15:43
Y_Jo_1
Rank: 4
等 级:业余侠客
帖 子:59
专家分:215
注 册:2011-10-20
收藏
得分:4 
c = sqrt(a);

要用到math.h头文件
2011-11-04 15:50
特浓百分百
Rank: 2
等 级:论坛游民
帖 子:8
专家分:14
注 册:2011-10-23
收藏
得分:4 
// ut.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "math.h"
void main()

{
   int a, b, c;
   printf("input a number\n");
   scanf("%d", &a);              
   c = sqrt(a);                      // 求解1:输入a,单步调试后,a的开根值为639.。???
   for(b = 2; b <= c; b++)                             
   {

           if(a%b==0)  //a应对b取模          //求解2;这个循环里面c=639.。。b要循环到b=639才会跳出。
           {
                   break;
           }
   }
   if(b > c)                // 求解3; 这时这个b也是639,c也是639.。表达式不成立。
           printf("%d is a prime number\n", a);       //打印下面的eles,这个不是素数。。        
   else
           printf("%d is not a prime number\n", a);  // 但是我输入的101应该是个素数啊。。

}
2011-11-04 16:57
Afah
Rank: 2
等 级:论坛游民
帖 子:40
专家分:70
注 册:2011-8-28
收藏
得分:4 
缺少头文件: math.h
2011-11-04 19:15
快速回复:这段代码问题错在哪?求大侠解答
数据加载中...
 
   



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

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