30/09/2018, 17:40

Tính tổng các số nguyên tố từ 1 tới n , lỗi không hiện ra cái gì sau khi build and run bằng codeblock

Mình làm bài tập tính tổng các sô nguyên tố từ 1 tới n mà sau khi build and run bằng codeblock thì lại chẳng hiện ra cái gì :

#include <stdio.h>

 #include <stdlib.h>

int main()

{

int n,i,sum=0;

printf("Nhap n=");

scanf("%d",&n);

for(i=2;i<n;i++)

{ 
    if(IsPrime(i)=true)
        sum+=i;
}
printf("%d",sum);
return 0;
}

bool IsPrime(int n)

{

int i,count=0;

for(i=1;i<=n;i++)
{
    if(n%i==0)

        count++;
}
if(count==2)

    return true;

return false;

}
Minh Hoàng viết 19:42 ngày 30/09/2018

if(IsPrime(i)=true) sử dụng == mới đúng
bạn chưa khai báo prototype hàm thì phải

Sơn viết 19:49 ngày 30/09/2018

Mình đã khai báo prototype và sửa lại == nhưng vẫn không được

viết 19:44 ngày 30/09/2018

bạn post đầy đủ code đã sửa lại xem thế nào

“chẳng thấy hiện ra cái gì” có phải là chỉ có 1 màn hình hiện lên rồi tắt ngay? Nếu thế thì chọn Project (ở cùng thanh với File / Edit / View…) -> Properties…, chọn thẻ Build targets, nhấp chọn Pause when execution ends.

Sơn viết 19:50 ngày 30/09/2018

Không bạn ạ, nó không hiện ra một cái gì cơ mặc dù build không có lỗi

Nguyễn Duy Khánh viết 19:49 ngày 30/09/2018

bạn thử IDE khác chưa

Sơn viết 19:42 ngày 30/09/2018

mình đã thử Dev c++ và nó báo lỗi ntn :
Compiler: Default compiler
Building Makefile: “E:\Users\Sõn\Desktop\New folder\Makefile.win”
Executing make…
make.exe -f “E:\Users\Sõn\Desktop\New folder\Makefile.win” all
gcc.exe -c main.c -o main.o -I"C:/Dev-Cpp/include"

main.c:4: error: syntax error before “IsPrime”

main.c:4: warning: data definition has no type or storage class
main.c:6: error: syntax error before “IsPrime”
main.c: In function IsPrime': main.c:15: error:true’ undeclared (first use in this function)
main.c:15: error: (Each undeclared identifier is reported only once
main.c:15: error: for each function it appears in.)
main.c:16: error: `false’ undeclared (first use in this function)

main.c: In function main': main.c:27: error:true’ undeclared (first use in this function)

make.exe: *** [main.o] Error 1

Execution terminated

Code của mình đây:

#include <stdio.h>
#include <stdlib.h>

bool IsPrime(int );

bool IsPrime(int n)

{

int i,count=0;

for(i=1;i<=n;i++)
{

    if(n%i==0)

        count++;
}
if(count==2)

    return true;

return false;

}

int main()

{

int n,i,sum=0;

printf("Nhap n=");

scanf("%d",&n);

for(i=2;i<n;i++)

{

    if(IsPrime(i)=true)

        sum+=i;

}

printf("%d",sum);

return 0;

}

Nguyễn Duy Khánh viết 19:49 ngày 30/09/2018

if(IsPrime(i)=true)

if(IsPrime(i)=true) dòng này sai nhé. Sửa if(IsPrime(i))
Mình chạy trên VS 2013 bt nhé

Sơn viết 19:56 ngày 30/09/2018

if(IsPrime(i)=true) dòng này sai nhé. Sửa if(IsPrime(i))Mình chạy trên VS 2013 bt nhé

Vẫn không được bạn ạ.Codeblock thì không chạy, dev c++ thì báo lỗi :(((

I am Z viết 19:50 ngày 30/09/2018

Không biết bạn build C ở chuẩn nào nhỉ, C90 thì không có kiểu bool, C99 thì cần có thư viện stdbool.h để dùng kiểu bool.

Sơn viết 19:55 ngày 30/09/2018

Không biết bạn build C ở chuẩn nào nhỉ, C90 thì không có kiểu bool, C99 thì cần có thư viện stdbool.h để dùng kiểu bool.

Dẫ thử và thành công .Tuy nhiên dev c++ vãn báo lỗi, còn codeblock thì ổn rồi, Thanks bạn .

Thành Phạm viết 19:49 ngày 30/09/2018

@nts311 Bạn đánh dấu cho câu trả lời đúng nhá

Hiện nay thành viên đã có thể đặt câu hỏi và chọn câu trả lời đúng trong Category #programming và #randomq, thế nên ai đã đặt câu hỏi và nhận câu trả lời chính xác thì nhớ chọn câu trả lời đúng để cảm ơn người trả lời nhé. Nếu người hỏi tự trả lời được câu hỏi thì nên post solution của mình và tự chọn luôn đó là câu trả lời đúng để cho người sau vào sẽ biết cách giải quyết. Các categories được chọn câu trả lời đúng programming randomq Người đặt câu hỏi có thể chọn câu trả lời đúng bằ…
lâm phúc tài viết 19:51 ngày 30/09/2018

bên dev c++ thì bạn thử đặt file ở đường dẫn nào ko chưa chữ tiếng vuêtj thử xem nha

Sơn viết 19:47 ngày 30/09/2018

giờ thì cái code này cũng không hoạt động trên codeblock, bạn nào biết sử chỉ mình với:

#include <stdio.h>
#include <stdlib.h>

void thamtri(int,int);

void thambien(int &,int &);

int main()
{

int a=5,b=5;

thamtri(a,b);

printf("a=%d,b=%d",a,b);

thambien(a,b);

printf("a=%d,b=%d",a,b);

return 0;

}

void thamtri(int ix,int iy)

{

ix+=1;

iy+=1;

}

void thambien(int &ix,int &iy)

{

ix+=1;

iy+=1;

}

I am Z viết 19:41 ngày 30/09/2018

Post này đã solved rồi, nên tạo 1 post khác để hỏi câu hỏi khác nhé

Bài liên quan
0