C语言:输入两个正整数m和n(m≥1,n≤500),输出m和n之间的所有素数,每行输出6个

【问题描述】
输入两个正整数m和n(m≥1,n≤500),输出m和n之间的所有素数,每行输出6个。素数是指只能被1和自身整除的正整数,最小的素数是2。
【输入形式】
从键盘输入两个正整数m和n。
【输入输出样例1】(下划线部分表示输入)
Input m: 1
Input n: 35
2 3 5 7 11 13
17 19 23 29 31
【样例说明】
每行输出6个正整数,每个正整数按%4d格式输出。
输入提示符后要加一个空格。其中“:”后要加一个且只能一个空格。
英文字母区分大小写。必须严格按样例输入输出。

帮忙改错,谢谢
#include <stdio.h>
int prime(int n);
int main(void)
{
int i,count,m,n;
count=0;
printf("Input m: ");
scanf("%d",&m);
printf("Input n: ");
scanf("%d",&n);
for(i=m;i<=n;i++){
if(prime(i)==1)
printf("%4d",i);
count++;
if(count==6){
printf("\n");
count=0;
}}
return 0;
}
int prime(int n)
{
int k,flag;
flag=1;
for(k=2;k<=n-1;k++)
if(n%k==0){
flag=0;break;}
if(flag=1&&n!=1)
return 1;
else
return 0;
}

第1个回答  2013-04-16
if(flag==1&&n!=1)
这里错了你少了=本回答被提问者采纳
相似回答