| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 592 人关注过本帖
标题:贵求高手找错误
只看楼主 加入收藏
xiaoqi0110
Rank: 2
等 级:论坛游民
帖 子:55
专家分:52
注 册:2010-8-15
结帖率:85.71%
收藏
已结贴  问题点数:10 回复次数:6 
贵求高手找错误
#include<stdio.h>
#include<math.h>
void main()
{
    int sushu(int n);
    int n,Sushu,flag=0;
    printf("请输入你要计算的数:");
    scanf("%d",&n);
    Sushu=sushu(n);
    if(flag==1)
        printf("%d",Sushu);
}
int sushu(int n)
{
    int i;
    int flag=1;
    int m;
    m=sqrt(n);
    for(i=2;i<=m;i++)
    {
        if(n%i==0)
        {
            flag=0;
            break;
        }
        else
            return(flag);
    }
}        
搜索更多相关主题的帖子: 计算 include 
2010-12-10 21:10
五当家
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:2
帖 子:1112
专家分:3674
注 册:2010-10-20
收藏
得分:2 
#include<stdio.h>
#include<math.h>
void main()
{
    int sushu(int n);
    int n,Sushu;            //这里的flag不需要.
    printf("请输入你要计算的数:");
    scanf("%d",&n);
    Sushu=sushu(n);
    if(Sushu==1)                //这里是Sushu==1而不是flag==1;
        printf("%d\n",n);        //这里是n而不是Sushu,这样才能把素数输出.
}
int sushu(int n)
{
    int i;
    int flag=1;
    int m;
    m=sqrt(n);
    for(i=2;i<=m;i++)
    {
        if(n%i==0)
        {
            flag=0;
            break;
        }
        else
            return(flag);
    }
}         

经验积累中............
2010-12-10 21:23
liuchli
Rank: 2
等 级:论坛游民
帖 子:7
专家分:16
注 册:2010-6-12
收藏
得分:2 
main()函数中的flag变量都没有变化呀?
2010-12-10 21:25
gaochizhen33
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:114
专家分:101
注 册:2010-11-4
收藏
得分:2 
程序代码:
#include<stdio.h>
#include<math.h>
void main()
{
    int sushu(int n);
    int n,Sushu;                    //主函数的flag不用要 它只是调用函数里判断的返回值
    printf("请输入你要计算的数:");
    scanf("%d",&n);
    Sushu=sushu(n);
    if(Sushu==1)                    //flag已经赋值给了Sushu
        printf("%d\n",n);           // 2楼说的很对
    else printf("This is wrong\n");
}
int sushu(int n)
{
    int i;
    int flag=1;
    int m;
    m=sqrt(n);
    for(i=2;i<=m;i++)
    {
        if(n%i==0)
        {
            flag=0;    //能整除的话 判断标记变0
            break;
        }
    }
    return flag;
}


五当家怎么改头像了
2010-12-10 21:41
xiaoqi0110
Rank: 2
等 级:论坛游民
帖 子:55
专家分:52
注 册:2010-8-15
收藏
得分:0 
我要达到的目的是随便输入一个数,输出次数范围内的所有素数
2010-12-10 21:53
langzilangyu
Rank: 2
等 级:论坛游民
帖 子:8
专家分:10
注 册:2010-11-13
收藏
得分:2 
程序代码:
#include<stdio.h>
#include<math.h>
void main()
{
    void sushu(int n);
    int n;
    printf("请输入你要计算的数:");
    scanf("%d",&n);
    for(int i=2;i<=n;i++)
    sushu(i);
}
void sushu(int n)
{
    int i;
    int flag=1;
    int m;
    m=(int) sqrt(n);
    for(i=2;i<=m;i++)
    {
        if(n%i==0)
        {
            flag=0;
            break;
        }
        //else
          //  return(flag);
    }
    if(flag==1)
    printf("%10d",n);
}       
不知道这个满足你要求不
2010-12-11 13:48
aiyinsitan
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:183
专家分:177
注 册:2010-4-22
收藏
得分:2 
#include<stdio.h>
#include<math.h>
void sushu(int n);
void main()
{
    int n;
    printf("请输入你要计算的数:");
    scanf("%d",&n);
   sushu(n);
}
void sushu(int n)
{
    int i,j;
   
    for(i=2;i<=n;i++)
    {
     int flag=1;
      for(j=2;j<=sqrt(i);j++)
      {
        if(i%j==0)
        {
            flag=0;
            break;
        }
      }
      if(flag==1)
      {
          printf("%4d",i);
      }
    }

}    看这个符合你要求吗??
2010-12-11 16:50
快速回复:贵求高手找错误
数据加载中...
 
   



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

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