标题:这个break为什么会提示错呀?
取消只看楼主
pinglideyu
Rank: 3Rank: 3
来 自:武汉工程大学
等 级:论坛游侠
威 望:1
帖 子:735
专家分:140
注 册:2007-1-7
结帖率:100%
 问题点数:0 回复次数:1 
这个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
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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-209230-1-1.html




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

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