SOGO論壇

標題: 求C語言高手幫幫忙 [列印本頁]

作者: polyuretha    時間: 2010-10-3 01:27:49     標題: 求C語言高手幫幫忙

S :飛行距離,v :物體初速, t : 飛行時間, g:重力加速度(9.8)
s=v*t+1/2gt的平方


輸入畫面如下:
請輸入物體飛行的初速與時間:20.5,30
輸出畫面如下:
物體初速=20.500000公尺/秒,飛行時間=36秒, 飛行距離=13a1公尺
                                                                                (8進位)             (16進位)
作者: huyoho2000    時間: 2010-10-4 22:35:48

抱歉看不太懂你的問題,你輸出飛行距離所需要的格式是八進制跟十六進制嗎?還有你所輸入的飛行時間是30sec輸出卻是要顯示36sec???這是你要的嗎?所以正常來說你所要的飛行距離是:20.5*30+0.5*9.8*30*30=5025m嗎?

《 本帖最後由 huyoho2000 於 2010-10-4 22:39 編輯 》
作者: polyuretha    時間: 2010-10-4 23:12:30     標題: 回覆 #2 huyoho2000 的帖子

物體初速=20.500000公尺/秒,<=這個我用%f好像也不對

飛行時間=36秒, (輸出=>八進位)

飛行距離=13a1公尺 (輸出十六進位)

摸老半天就是不知道怎麼寫 Orz
作者: alphi    時間: 2010-10-5 20:25:20

使用飛行距離公式 S=v*t+(1/2)*g*(t^2) 跟你的答案不一樣,所以請你確認你的答案是否有誤
#include <iomanip>        //呼叫設定基底
#include <iostream> //呼叫基本輸出入函數
using namespace std;

float fdistance(float v,float t)
{
          float g=9.8;
          /*
                飛行距離為s=v*t+(1/2)*(g*t^2)  
        */
          float s=((v*t)+(0.5*g*(t*t)));
       
        return s;  
}
int main(char *argv[])
{
       float v;
       float t;

       cout<<("Please enter a muzzle velocity:");
       cin>>v;

       cout<<("Please enter the flight time:");
       cin>>t;

       cout<<"THe Flight distance is ";
           //設定基底為16進位
           cout<<setbase(16)<<(int)fdistance(v,t)<<endl;
           //設定基底為8進位
       cout<<"The Flght time is "<<setbase(8)<<(int)t<<endl;
       system("pause");
}
作者: alphi    時間: 2010-10-5 20:29:36     標題: 回覆 #4 alphi 的帖子

抱歉看錯了,把20.5 看成25.5,那這樣資料跟程式是沒錯




歡迎光臨 SOGO論壇 (https://oursogo.com/) Powered by OURSOGO.COM