-
برنامه محاسبه توان
این برنامه برای محاسبه توان هست که مقدار اول دابل هست و مقدار دوم عدد صحیح مثبت یا منفی است ولی جواب نمیده.مشکل چیه؟
double power(double,int);
void main(){
double a,p;
int b;
printf("enter base and power:");
scanf("%d%d",&a,&b);
p=power(a,b);
printf("%d",p);
getch();
}
double power(double a,int b){
int i;
double p;
if(b<0)
a=1/a;
for(i=1;i<=b;i++)
p*=a;
return p;
}
-
لطفا کدها رو درو تگ کد بنويسين.
برنامتون با دو تغيير کوچيک کار ميکنه. برنامه پايين رو با برنامه خودتون مقايسه کنين فرقش رو ميفهمين.
کد:
double power(double,int);
void main(){
int a,p;
int b;
printf("enter base and power:");
scanf("%d%d",&a,&b);
p=power(a,b);
printf("%d",p);
getch();
}
double power(double a,int b){
int i;
double p = 1;
if(b<0)
a=1/a;
for(i=1;i<=b;i++)
p*=a;
return p;
}
-
خیلی ممنون.
فقط یه مشکلی هست که این برنامه مثلا" عدد 3 به توان 2- رو جواب صفر میده.فکر کردم که اگر مقدار بی رو به
منفی بی تبدیل کنم جواب میده ولی جواب نمیده.اگه ممکنه کمکم کنید
راستی این برنامه ای رو که نوشتید عدد اعشاری رو هم به توان نمی تونه برسونه.
-
خودم آخر راه درستشو پیدا کردم.
اینم کد:
کد:
double power(float,int);
void main(){
float a,p;
int b;
clrscr();
printf("enter base and power:\n");
scanf("%f%d",&a,&b);
p=power(a,b);
printf("%f",p);
getch();
}
double power(float a,int b){
int i;
float p=1;
if(b<0){
a=1/a;
b*= -1;}
for(i=1;i<=b;i++)
p*=a;
return p;
}
-
شما ميتونين براي 3 به توان -2 اول 3 به توان 2 رو حساب کنين و بعد جواب رو معکوس کنين و يا مثل همين کاري که کردين اول عدد رو معکوس کنين و بعد توان رو محاسبه کنين.