我是初学者,在做这个课程时我很难过 问题是:
(1/1!)+(2/2!)+(3/3!)+(4/4!)- - - -n
所以这里是n个项(其中一个数除以它的阶乘),我必须显示scanf函数中给出的任意数量项之和的输出。
我所知道的只有一件事是这个程序可以通过使用" Nested for"来完成。循环但我还没有完美的C语言抓地力。所以你们必须帮助我解决这个问题。 :)
#include <stdio.h>
#include <conio.h>
void main(void){
int s,a,b,n,fact=1;
//clrscr();
printf("Enter number of terms=");
scanf("%d",&n);
for(a=1;a<=n;a++) {
fact=fact*a;
b=(a/fact);
printf("Sum=%d",s);
}
getche();
}
P.S我必须使用&#34; Nested for&#34;循环。
答案 0 :(得分:1)
不,您不需要任何嵌套for循环来解决您的问题。这是您可以遵循的程序:
function factorial
Input: numbers L.
Output: factorial of L.
function sum
Input: n.
Output: sum.
sum = 0;
for i = 1 to n, do
sum ← sum + (i / factorial(i))
return sum
答案 1 :(得分:0)
#include <stdio.h>
int main(void) {
// your code goes here
int n;
float sum = 0,d,fact =1,j,i;
printf("Enter the number:");
scanf("%d",&n);
for(i=1;i<=n;i++){
fact = 1;
for (j = 1; j <= i; j++){
fact = fact * j;
}
d = (float) i / (float) fact ;
sum = sum + d;
}
printf("sum = %f", sum);
return 0;
}
它的工作..你可以在这里查看: - https://ideone.com/JVXQVX