Hỏi đáp
Chia sẻ kiến thức, cùng nhau phát triển
em đã fix hết lỗi. đến khi chạy trên cygwin nhập vào dữ liệu thì ko xuất ra kết quả mà báo lỗi Floating point exception(core dumped)
#include<stdio.h>
#include<math.h>
float s(int n)
{
float s=0;
int i;
for(i=1;i<=n;i++)
s=s+(i+1)/sqrt(i);
return s;
}
float s1(int n)
{
float s=0;
int i;
for(i=1;i<=n;i++)
s=s+i;
return s;
}
float s2(int n)
{
float s=0;
int i;
for(i=0;i<=n;i++)
s=s+1/i+1;
return s;
}
float s3(int n)
{
float s=0;
int i;
for(i=1;i<=n;i++)
s=i*i+1;
return s;
}
float s4(int n,int x,int y)
{
float s=0;
int i;
for(i=1;i<=n;i++)
s=pow(x,y);
return s;
}
float s5(int n)
{
float s=0;
int i;
for(i=-1;i<=n;i++)
s=pow(-1,i)/i+1;
return s;
}
int main()
{
int n,x,y;
printf("nhap n: ");
scanf("%d",&n);
printf("nhap x: ");
scanf("%d",&x);
printf("nhap y: ");
scanf("%d",&y);
while(n<=0)
{
printf("nhap lai\n n: ");
scanf("%d",&n);
}
while(x<=0)
{
printf("nhap lai\n x: ");
scanf("%d",&x);
}
while(y<=0)
{
printf("nhap lai\n y: ");
scanf("%d",&y);
}
printf("a) S=%f",s(n));
printf("b) S1=%f",s1(n));
printf("c) S2=%f",s2(n));
printf("d) S3=%f",s3(n));
printf("e) S4=%f",s4(n,x,y));
printf("f) S5=%f",s5(n));
return 0;
}
Lỗi nè.
Nếu i = 0 thì s = s+ 1/0 + 1
Thế này thì đi luôn cả chương trình
Lỗi chia cho 0 nha bạn
dòng này được hiểu là: s = s + (1 / i) + 1; trong khi i chạy từ 0->n; lỗi chia cho 0
tương tự như trên, i chạy từ -1->n; lỗi chia cho 0 nếu n >=0
cụ thể chết tại dòng code nào bạn. nhập đầu tiên hay thứ mấy