Nhập số nguyên dương n >10, tìm và hiển thị ra màn hình n số nguyên tố đầu tiên và tổng của chúng.
em dag hoc ngôn ngu lập trình C , em cần viết bài này sử dụng vòng lặp ạ…
giúp em với!!
Nhập số nguyên dương n >10, tìm và hiển thị ra màn hình n số nguyên tố đầu tiên và tổng của chúng
Bạn ơi. Bạn không nên hỏi bài như thế này nhé bạn 
Bạn nên tự làm theo ý tưởng của bạn. Code sau đó buil run rồi nếu có lỗi up code lên diễn đàn mọi người cùng thảo luận. Đó là mục đích của diễn đàn 
Còn bài này thì mình cũng góp ý chút là : Bạn sử dụng cấu trúc lặp và hàm kiểm tra số nguyên tố ? Bạn thử xem sao nhé 
bạn đang học vòng lặp thế chắc chưa học đến hàm nhỉ, thế phải dùng vòng lặp lồng nhau rồi.
Bạn đã biết dùng vòng lặp để kiểm tra xem 1 số có phải là số nguyên tố không chưa?
Với kiểu hiển thị ra màn hình n số nguyên tố đầu tiên thì ta chưa biết được số đấy trong khoảng nào, vậy thì cần dùng vòng lặp chưa biết số lần lặp (while). Bạn sẽ khởi tạo 1 biến để đếm số số nguyên tố tìm được và 1 biến lưu tổng các số nguyên tố đó, 1 biến để chạy. rồi bạn dùng vòng lặp while để xét lần lượt từng giá trị của biến chạy, nếu biến chạy là số nguyên tố (dùng 1 vòng lặp để kiểm tra) thì tăng đếm và cộng tổng. cứ thế đếm đủ thì nó out khỏi while và bạn in ra kết quả.
int main ()
{
int n,a,i,S,St,dem;
do
{
printf("Nhap vao so nguyen duong n >10: ");
scanf("%d",&n);
if (n<=10)
{
printf("\n Gia tri n khong hop le, Vui long nhap lai!\n");
}
}while (n<=10);
printf("\n %d so nguyen to dau tien la ",n);
S=0;
St=0;
dem=0;
for(i=2;;i++){
for(a=1;a<=i;a++)
{if(i%a==0)
{
St=St+a;
if(St==i+1){
printf(" %d ",i);
S=S+i;
dem=dem+1;
}
}
}
if (dem == n){
break;
}
}
printf("\n Tong cua %d so nguyen to dau tien la %d",n,S);
getch ();
return 0;
}
đây là phần code của e em ko bít là sai ở đâu nữa…
hihii em là thành viên mới nên ko bít là phải hỏi ntn cho chuẩn ạ anh chị thông cảm^^
Bạn ơi, cho code vào markdown đi bạn
Không sao . Nhưng bạn sửa lại bài và cho code vào markdown đi đã nhé 
bạn thêm code vào giữa hai dấu ` nhé 
nên thêm vào giữa như sau:
(3 dấu `)C
code
(3 dấu như trên)
hic cái markdown là cái gì đấy ạ ???!!
mà làm sao để làm nó ạ?
Nó có nhiều cái lắm, ở đây thì để định dạng hiển thị code cho dễ đọc hơn. 
em thêm ``` vào rồi…nhưng… nó chả có hiện tượng gì cả?!!
for(i=2;;i++){
for(a=1;a<=i;a++)
{
if(i%a==0)
{
St=St+a;
if(St==i+1){
printf(" %d ",i);
S=S+i;
dem=dem+1;
}
}
}
if (dem == n){
break;
}
}
Sai ở đây nhé, sau mỗi lần xét 1 i thì bạn phải đặt lại St = 0 để dùng cho i sau nha

cảm ơn anh ạ!!
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?