大一c语言的题目。输出m-n之间所有的素数

改写( sample02_07.cpp )保存为ex02_06.cpp:输出m-n之间所有的素数,调用int isprime(int n)函数,每行输出10个素数。
sample02_07.cpp
/*求100以内的全部素数,每行输出10个。素数就是只能被1和自身整除的正整数,1不是素数,2是素数。*/
/* 使用嵌套循环求100以内的全部素数 */
#include <stdio.h>
#include <math.h> /* 调用求平方根函数,需要包含数学库 */
int main(void)
{
int count, i, m, n;

count = 0; /* count记录素数的个数,用于控制输出格式 */
for(m = 2; m <= 100; m++){
n = sqrt(m);
for(i = 2; i <= n; i++)
if(m % i == 0) break;
if(i > n){ /* 如果m是素数 */
printf("%6d", m); /* 输出m */
count++; /* 累加已经输出的素数个数 */
if(count % 10 == 0) /* 如果count是10的倍数,换行 */
printf("\n");
}
}
printf("\n");

return 0;
}
搜索
复制

应将k=sqrt(m);删除。在a=1;的前面加上 k=sqrt(j);
附上程序:

#include <stdio.h>
#include <math.h>
void main(void)
{ int i,j,m,n,k,s,a,b=0;
    scanf("%d",&n); 
 scanf("%d",&m);
 for(j=n;j<m;j++) 
 { 
  k=sqrt(j);  //程序改进 在此行
  a=1; 
     for(i=2;i<=k;i++) 
  if(j%i==0) 
  {a=0;break;}        
  if(a==1)  
  {printf("%5d",j);b++; 
  if(b%10==0) printf("\n");} //回车问题在此行
 }
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2022-03-05
应将k=sqrt(m);删除。在a=1;的前面加上 k=sqrt(j);
附上程序:

123456789101112131415161718

#include <stdio.h>#include <math.h>void main(void){ int i,j,m,n,k,s,a,b=0; scanf("%d",&n); scanf("%d",&m); for(j=n;j<m;j++) { k=sqrt(j); //程序改进 在此行 a=1; for(i=2;i<=k;i++) if(j%i==0) {a=0;break;} if(a==1) {printf("%5d",j);b++; if(b%10==0) printf("\n");} //回车问题在此行 }}

大一c语言的题目。输出m-n之间所有的素数
j);b++; if(b%10==0) printf("\\n");} \/\/回车问题在此行 }}

c语言:输出m到n之间的所有素数,包括m和n。(100<m,n<1000)我是这样写的...
{ int m, n, i, leap, j;leap = 1;scanf("%d%d", &m, &n);for (j = m; j <= n; j++){ for (i = 2, leap = 1; i <= j - 1; i++){ if (j % i == 0){ leap = 0;break;} } if (leap == 1)printf("%d ", j);} return 0;} ...

C语言编程 输出m到n之间的素数 要求定义函数 请帮助我找出错误_百度知 ...
include <stdio.h>#include <math.h>int prime (int n){int t,i,J=(n > 1) ? 1 : 0;t=(int)sqrt(n);for(i=2;i<=t;i++){if(n%i==0){J=0;break;}}return J;}int main(){int m,n,i,a;int flag=0;scanf("%d%d",&m,&n);for(i=m;i<=n;i++){a=prime(i)...

c语言 输出[m,n]之间素数 的程序
1 输入m和n;2 对[m,n]的整数进行遍历。3 对每个数值进行判断,如果是素数,则输出。代码:include <stdio.h>#include <math.h>int is_prime(int n){int i;for(i = 2; i <= sqrt(n); i ++)if(n%i == 0) return 0;return 1;}int main(){ int m,n,i; scanf("%d%d...

C语言 输出n到m之间的所有素数
1、输入n和m;2、判断n和m关系,如n>m则交换;3、遍历n到m所有值,对于每个值判断是否为素数,如是则输出;二、参考代码:include <stdio.h>#include <math.h>int isPrime(int n)\/\/判断素数函数。{ int i; for(i = 2; i <= (int)sqrt(n); i ++)\/\/从2到算数平方根遍历。

c语言编程:输出m~n之间的回文素数
include<stdio.h>int main(){ int m,n,c,b,k,p,q,r,leap; scanf("%d%d",&m,&n); r=0; leap=0; for(k=m;k>=m&&k<=n;k++) { b=0; p=k; while(k>0) { c=k%10; b=b*10+c; k=k\/10; } if(b==p) { for(q=2;q...

C语言求助,《求m和n之间的所有素数》
你的第二层for循环后面好像缺失一个“{”;要注意代码格式,你这个代码格式读起来很痛苦哦 思路应该是:第一层for循环是循环m到n之间,{第二层for循环判断这个数是不是素数,是的话就输出;然后再判断这一行有没有6个了,有6个就输出一个换行} ...

输出[m,n]之间的素数,用c语言编程怎么写。谢谢,
0;return 1;} 主程序输入m和n,然后循环他们之间的所有数,调用函数fun返回1的就输出,例如:main(){ int m,n,i;scanf("%d%d",&m,&n);for (i=m;i<=n;i++) if (fun(i)) printf("%d\\t",i);} 把上面两部分连接起来,最前面加上下面一行就是完整的程序:include <stdio.h> ...

C语言程序 判断m-n之间的素数有几个、分别是哪些。m-n范围可以任意指定...
n - m];for (int i = m; i <= n; ++i){if (isPrime(i)){primes[count] = i;count++;}}cout << "m~n 的素数个数:" << count << endl;cout << "分别是:" << endl;for (int i = 0;i < count; i++){cout << primes[i] << endl;}return 0;}编译运行:

C语言 求n到m之间所有的素数
include <stdio.h>int main(){int u,i,n,m,s=0;scanf ("%d%d",&n,&m);for (u=n;u<=m;u++){s=0;for (i=2;i<=u\/2;i++){if (u%i==0){s=1;break;}}if (u>1 && s==0){printf ("%d\\n",u);}}return 0;} ...

相似回答