【問題】C++ 相加與平均


Recommended Posts

要寫5個相加與平均 可以告訴我錯在哪嗎?

#include <stdio.h>

#include <stdlib.h>

int main(void)

{

int a,b,c,d,e,; //宣告整數變數a和整數變數b

scanf("%d %d %d %d %d" ,&a,&b,&c,&d,&e); //讀入整數變數a和b

printf("a + b + c + d + e = %d\n",a+b+c+d+e); //印出相加的結果

printf("a + b + c + d + e / 5 = %f/n",(float)a+b+c+d+e/5); //float將a除以b的結果,強制轉換為浮點數

system("pause"); //使程式暫停在執行畫面以供檢視結果

}

鏈接文章
分享到其他網站

#include <stdio.h>

#include <stdlib.h>

int main(void)

{

int a,b,c,d,e; //宣告整數變數a和整數變數b

scanf("%d %d %d %d %d" ,&a,&b,&c,&d,&e); //讀入整數變數a和b

printf("a + b + c + d + e = %d\n",a+b+c+d+e); //印出相加的結果

printf("a + b + c + d + e / 5 = %f\n",(float)(a+b+c+d+e)/5); //float將a除以b的結果,強制轉換為浮點數

system("pause"); //使程式暫停在執行畫面以供檢視結果

}

鏈接文章
分享到其他網站

我以C++的方式寫看看,已經測試成功,原始碼如下:

#include <iostream>

#include <cstdlib>

using namespace std;

int main(void)

{

int a,b,c,d,e; //宣告整數變數

float ans; //宣告一浮點數變數以其存放五數之平均

scanf("%d %d %d %d %d" ,&a,&b,&c,&d,&e);

cout << "a + b + c + d + e = " << a+b+c+d+e << endl; //印出五數之和

ans = (a+b+c+d+e)/5.0;

/*放入五數之平均,後面若是5.0的話,程式會將其算出的值以浮點數存放

若後面為5的話程式將其以整數型態存放*/

cout << "(a+b+c+d+e)/5 =" << ans << endl; //印出五數之平均

system("PAUSE");

return 0; //傳回整數0,此數由系統接收,表此程式可順利完成且無誤

}

以上為使用c++的方式寫的我將你們所#include 的 stdio.h 及 stdlib.h 更換成iostream(input/output stream 輸入/輸出串流) 及 cstdlib(standard library 標準函數庫),cout 也是c++的寫法,若你們沒有使用std名稱空間的話,可以改成如下:

#include <iostream>

#include <cstdlib>

int main(void)

{

int a,b,c,d,e; //宣告整數變數

float ans; //宣告一浮點數變數以其存放五數之平均

scanf("%d %d %d %d %d" ,&a,&b,&c,&d,&e);

std::cout << "a + b + c + d + e = " << a+b+c+d+e << std::endl; //印出五數之和

ans = (a+b+c+d+e)/5.0;

/*放入五數之平均,後面若是5.0的話,程式會將其算出的值以浮點數存放

若後面為5的話程式將其以整數型態存放*/

std::cout << "(a+b+c+d+e)/5 =" << ans << std::endl; //印出五數之平均

system("PAUSE");

return 0; //傳回整數0,此數由系統接收,表此程式可順利完成且無誤

}

※若內容有誤、有須改善之處,歡迎各位踴躍提出,或能寄信、即時通留言給我,謝謝大家!

鏈接文章
分享到其他網站

我比較沒那麼屌.......

所以寫簡單的就好

#include <stdio.h>

#include <stdlib.h>

int main(int argc, char *argv[])

{

int a,b,c,d,e,total;

float avg;

scanf("%d%d%d%d%d",&a,&b,&c,&d,&e);

total=a+b+c+d+e;

avg=total/5;

printf("total=%d\n",total);

printf("avg=%f",avg);

system("PAUSE");

return 0;

}

鏈接文章
分享到其他網站
  • 7 months later...
要寫5個相加與平均 可以告訴我錯在哪嗎?

#include <stdio.h>

#include <stdlib.h>

int main(void)

{

int a,b,c,d,e,; //宣告整數變數a和整數變數b

scanf("%d %d %d %d %d" ,&a,&b,&c,&d,&e); //讀入整數變數a和b

printf("a + b + c + d + e = %d\n",a+b+c+d+e); //印出相加的結果

printf("a + b + c + d + e / 5 = %f/n",(float)a+b+c+d+e/5); //float將a除以b的結果,強制轉換為浮點數

system("pause"); //使程式暫停在執行畫面以供檢視結果

}

就程式碼而言,最大的問題在於"a+b+c+d+e/5"

運算子的優先順序,至少要將相加的總和給用括號括起來,

不然程式會依照由左至右然後院算子的優先順序執行運算,

也就是先將前四個數的和相加之後在加上e/5,這樣你懂了嗎?

剩下的或許可以使用強制轉換配合將小數點顯示出來即可完成 :)

鏈接文章
分享到其他網站
  • 1 month later...

請登入後來留意見

在登入之後,您才能留意見



立即登入