خروجی اشتباه عملیات ریاضی پس از به توان رسیدن - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

خروجی اشتباه عملیات ریاضی پس از به توان رسیدن

+3 امتیاز

 

 

 

 

 

 

 

 

چرا خروجی کد زیر عدد 24 است نه25

ایا نحوه به توان رساندن این عملیات ریاضی درست نیست؟

 

سوال شده اسفند 10, 1398  بوسیله ی takavar (امتیاز 60)   4 8 18
با چه کامپایلری؟
کامپایلر
CodeBlocks
من با dev زدم درست درومد

2 پاسخ

+1 امتیاز
 
بهترین پاسخ

نوع ورودی و خروجی pow ازجنس دابل هست

برای اینکه اشتباه درمحاسبه در خروجی نداشته باشیم یک مقدار عددی با این دستور جمع(هرچند اندک)میکنیم

pow((((A+1)/2)+1),2)+0.5

 

پاسخ داده شده اسفند 14, 1398 بوسیله ی takavar (امتیاز 60)   4 8 18
انتخاب شد اسفند 14, 1398 بوسیله ی takavar
+1 امتیاز

سلام خوبی ببین برای اینکه به این مشکل نخوری باید عمل کستینگ انجام بدی یعنی چوون تو A  یک عدد صحیح تعریف کردی از طرفی تابع  pow  بصورت  double  تعریف شده پس بهتره که برای دریافت نتیجه درست عمل کستنیگ اینگونه انجام بدی


#include <stdio.h>

int main()
{
   int A = 7 ;

   A=(float)pow (((A+1)/2)+1 ,2) ;

   printf("%d",A);
    return 0;
}

پاسخ داده شده اسفند 22, 1398 بوسیله ی ROOSTAM (امتیاز 74)   2 2 3
...