一道大一计算机C语言编程题,在线等答案,谢谢!感激不尽!

如题所述

第1个回答  2014-12-11
#include <stdio.h>

int isprime(int x)
{
    int i;
    
    for(i =2;i <x;i++)
    {
       if(x%i == 0)
          return 0;
    }
    
    return 1;
}

void main()
{
    int m,n;
    int sum = 0;
    
    scanf("%d%d",&m,&n);
    
    for(;m<=n;m++)
    {
        if(isprime(m) == 1)
           sum = sum +m;
    }
    printf("%d",sum);
}

追问

有点小错误哎

追答

木有呀,用程序跑过了的!


追问

还是有点小问题的

我这里系统不通过

追答#include <stdio.h>
 
int isprime(int x)
{
    int i;
    
    if(x < 2)//加一个
        return 0;
        
    for(i =2;i <x;i++)
    {
       if(x%i == 0)
          return 0;
    }
     
    return 1;
}
 
void main()
{
    int m,n;
    int sum = 0;
     
    scanf("%d%d",&m,&n);
     
    for(;m<=n;m++)
    {
        if(isprime(m) == 1)
           sum = sum +m;
    }
    printf("%d",sum);
}

本回答被提问者采纳
第2个回答  2014-12-11
#include <stdio.h>
#include <math.h>
void main()
{
int m,n, k, i, sum = 0;
scanf("%d", &m);
scanf("%d", &n);
for(int j = m; j < =n; j = j + 1)
{
k = (int)sqrt((float)(j));
for(i = 2; i <= k; i++)
if(j%i == 0) break;
if(i >= k + 1)
{
sum = sum + j;
}
}
printf("%d", sum);
}追问

抱歉,有点小问题哎,编译错误

追答

→ → 我看了楼下几个 都是编译错误的话 你还是查查自己机子上的环境吧 照理来说不应该

追问

系统要求比较高

追答

我大概知道了 是不是限定了时间和内存 那你接受的那个答案里面X用根号X代替应该能行了

第3个回答  2014-12-11
#include "stdio.h";
bool isprime(int x);
void main(){
    int m,n,sum=0;
    scanf("%d %d",&m,&n);
    for (int i=m;i<=n;i++){
        if (isprime(i)) sum+=i;
    }
    printf(sum);
}

bool isprime(int x){
    bool y=true;
    if(x<2) return false;
    break;
    for(int i=2;i<x;i++){
        if (x%i==0){
            y= false;
            break;
        }
    }
    return y;
}

追问

抱歉,有点小问题哎

追答

那里的问题呢,这个没有测试,你看看问题在哪里,可能会有些小错误哟,基本原理应该没问题。
我主要用C++。

第4个回答  2014-12-11
#include<stdio.h>
#include<math.h>
void main()
{
int m, n, sum;
scanf("m=%d n=%d",&m,&n);
for(x;x<=d;x++)
{
if (isprime(x)) {
sum += x;
}
}

printf("%d", sum);

}

boolean isprime(int x)
{
int a = sprt(x);

boolean isprime = false;
for(i=2,i<=a,i++)
{
if(x%i==0)
{
isprime = true;
break;
}
}
return isprime ;
}

将就着用吧 不太会c追问

抱歉,有点小问题哎,编译错误

追答

xianzai hai you ma

追问

嗯嗯

有的

编译错误

追答

gang 改过了 你试试

追问

??

再发一遍

未收到

追答

#include
#include
void main()
{
int m, n, sum;
scanf("m=%d n=%d",&m,&n);
for(x=m; x<=n; x++)
{
if (isprime(x)) {
sum += x;
}
}

printf("%d", sum);

}

bool isprime(int x)
{
int a = sprt(x);

boolean isprime = false;
for(i=2,i<=a,i++)
{
if(x%i==0)
{
isprime = true;
break;
}
}
return isprime ;
}

相似回答