| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1365 人关注过本帖
标题:这个break为什么会提示错呀?
只看楼主 加入收藏
pinglideyu
Rank: 3Rank: 3
来 自:武汉工程大学
等 级:论坛游侠
威 望:1
帖 子:735
专家分:140
注 册:2007-1-7
结帖率:100%
收藏
 问题点数:0 回复次数:3 
这个break为什么会提示错呀?
void num(int m, int k, int xx[])
{
    int data=m+1;
    int i,n=0;
    for (i=2;i<sqrt(data);i++)
        if (data%i!=0)
        {
            xx[n]=data;
            n++;
            
        }
        if (n>=k)
               break;        data++;
}
假如m=17,k=5
提示:
Compiling...
0001.cpp
D:\C语言\新建程序\0001.cpp(18) : error C2043: illegal break
执行 cl.exe 时出错.

0001.exe - 1 error(s), 0 warning(s)
搜索更多相关主题的帖子: break int 提示 data 
2008-04-15 21:10
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
你出了循环体了。。

学习需要安静。。海盗要重新来过。。
2008-04-15 21:12
pinglideyu
Rank: 3Rank: 3
来 自:武汉工程大学
等 级:论坛游侠
威 望:1
帖 子:735
专家分:140
注 册:2007-1-7
收藏
得分:0 
对了,我再问个问题吧。
这个题目的意思是求一个数,然后紧跟着它后面的五个整数,这五个数都是素数。
例如:
我输入17 5
应该显示:19 21 23 29 31

我的程序是这样的,但错了咧。。。
#include <conio.h>
#include <stdio.h>
#include <math.h>

void readwriteDat();
void num(int m, int k, int xx[])
{
    int data=m+1;
    int i,n=0;
    for (i=2;i<=sqrt(data);i++)
        if (data%i!=0)
        {
            xx[n]=data;
            n++;
            
        }
        if (n>=k)
              break;
        data++;
}
void main()
{
    int  m, n, xx[1000];
    printf("\nPlease enter two integers:");
    scanf("%d%d", &m, &n);
    num(m, n, xx);
    for (m=0; m<n; m++)
        printf("%d ", xx[m]);
    printf("\n");
    readwriteDat();
}
void readwriteDat()
{
    int  m, n, xx[1000], i;
    FILE  *rf, *wf;
    rf = fopen("in.dat", "r");
    wf = fopen("out.dat", "w");
    for (i=0; i<10; i++)
    {
        fscanf(rf, "%d %d", &m, &n);
        num(m, n, xx);
        for (m=0; m<n; m++)
            fprintf(wf, "%d ", xx[m]);
        fprintf(wf, "\n");
    }
    fclose(rf);
    fclose(wf);
}

~~我的明天我知道~~
2008-04-15 21:21
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
#include <conio.h>
#include <stdio.h>
#include <math.h>

void readwriteDat();
void num(int m, int k, int xx[])
{
    int data=m;
    
    int i,n=0;
    int flag,flag1;
    do{
        do{
             flag=0,flag1=0;
               data++;
             for (i=1;i<=sqrt(data);i++)
             if (data%i==0)
                  {
            
                     if(++flag1==2)
                        flag=1;
                   }
            }while(flag);
          xx[n++]=data;
    }while(n<k);
}
void main()
{
    int  m, n, xx[1000];
    printf("\nPlease enter two integers:");
    scanf("%d%d", &m, &n);
    num(m, n, xx);
    for (m=0; m<n; m++)
        printf("%d ", xx[m]);
    printf("\n");
    //readwriteDat();
}

学习需要安静。。海盗要重新来过。。
2008-04-15 21:42
快速回复:这个break为什么会提示错呀?
数据加载中...
 
   



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

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