永发信息网

C语言求助,《求m和n之间的所有素数》

答案:2  悬赏:20  手机版
解决时间 2021-12-20 15:04
  • 提问者网友:原来太熟悉了会陌生
  • 2021-12-20 00:48
C语言求助,《求m和n之间的所有素数》
【问题描述】
输入两个正整数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>
#include<math.h>
int main(void)
{
\x05int m,n,c,i,j;
\x05c=0;
\x05printf("input m:");
\x05scanf("%d",&m);
\x05printf("input n:");
\x05scanf("%d",&n);
\x05for(i=m;i<=n;i++){
\x05\x05for(j=2;j<=i/2;j++)
\x05\x05\x05if(i%j==0)
\x05\x05\x05\x05break;
\x05\x05if(j>i/2&&i!=1){
\x05\x05\x05printf("%4d",i);
\x05\x05\x05c++;
\x05\x05}
\x05\x05if(c!=0)
\x05\x05if(c%6==0)printf("\n");
\x05}
\x05return 0;
}
问题是“\n”会输出好几个,究竟是为什么呢?如图,求指教!
、n

最佳答案
  • 五星知识达人网友:大漠
  • 2021-12-20 01:57

因为每次不是质数的时候你还是判断是不是c是6的倍数,这个应该放在C++后面
再问: 汗,我是新手菜鸟,你能帮我改正一下吗?就发改正部份就行
再答: #include #include int main(void) { int m,n,c,i,j; c=0; printf(input m: ); scanf(%d,&m); printf(input n: ); scanf(%d,&n); for(i=m;i


全部回答
  • 1楼网友:玩家
  • 2021-12-20 02:59
和我的回答一样,看来我也对了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯