Ich möchte ein Programm schreiben, das die Reihe berechnet x- (x^3/3!) + (X^5/5!) - (x^7/7!) + ... (x^n/n !) indem x und n als Benutzereingaben genommen werden.So drucken Sie diese Serie x- (x^3/3!) + (X^5/5!) - (x^7/7!) + ... (x^n/n!) In C/C++ ?
Das ist, was ich versucht habe, und auch gibt es keine Ausgabe, wenn ich die Werte für x eingeben, n:
#include<stdio.h>
#include<math.h>
//#include<process.h>
#include<stdlib.h>
double series(int,int);
double factorial(int);
int main()
{
double x,n,res;
printf("This program will evaluate the following series:\nx-(x^3/3!)+(x^5/5!)-(x^7/7!)+...(x^n/n!)\n");
printf("\nPlease enter a value for x and an odd value for n\n");
scanf("%lf%lf",&x,&n);
/*if(n%2!=0)
{
printf("Please enter a positive value!\n");
exit(0);
}*/
res=series(x,n);
printf("For the values you've entered, the value of the series is:\n %lf",res);
}
double series(int s, int t)
{
int i,sign=1; double r,fact,exec;
for(i=1;i<=t;i+2)
{
exec=sign*(pow(s,i)/factorial(i));
r+=exec;
sign*=-1;
}
return r;
}
double factorial(int p)
{
double f=1.0;
while(p>0)
{
f*=p;
p--;
}
return f;
}
Wenn ich Werte für x eingeben und n, es zeigt einfach nichts. Während ich in C geschrieben habe, werden C++ - Lösungen ebenfalls geschätzt.
Willkommen bei Stack Overflow! Es klingt, als müssten Sie lernen, wie Sie einen Debugger verwenden, um durch Ihren Code zu gehen. Mit einem guten Debugger können Sie Ihr Programm Zeile für Zeile ausführen und sehen, wo es von dem, was Sie erwarten, abweicht. Dies ist ein essentielles Werkzeug, wenn Sie programmieren wollen. Weiterführende Literatur: ** [Wie kleine Programme zu debuggen] (http://ericlippert.com/2014/03/05/how-to-debug-small-programs/) ** – NathanOliver
verwenden Sie stattdessen "i = i + 2" von 'i + 2' –
Veröffentlichen Sie keinen Text als Bilder! – Olaf