廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 3056 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
vwmn123 手機
數位造型
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x0
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[C/C++][求助] for 發問QQ
第一次發問
  請大家幫我改程式   題目用陣列存放五名學生的國 英 數 成績,並計算出每位學生的總分及平均
A學生三科的成績在 main()輸入
B成績的總和及平均需用自訂函式計算  <-----B 可有可無 有是最好QQ
我要用的東西是  一次全cin 最後跑出下面的例子
學號001   國文 10 英文 12  數學 14  總和  36  平均 12
學號002   國文 10 英文 12  數學 14  總和  36  平均 12
學號003   國文 10 英文 12  數學 14  總和  36  平均 12
學號004   國文 11 英文 11  數學 11  總和  33  平均 11
學號005   ..

訪客只能看到部份內容,免費 加入會員 或由臉書 Google 可以看到全部內容



[ 此文章被vwmn123在2009-02-02 21:21重新編輯 ]


獻花 x0 回到頂端 [樓 主] From:歐洲 | Posted:2009-02-02 19:05 |
0800959595
數位造型
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x2
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

因為平均e[]有可能有小數點,所以你可以考慮改成float,底下紅色是我改的地方,未處理排版...

#include <iostream>
#include <string>
using namespace std;
int main ()
{
  int o,a[10],b[10],c[10],d[10],e[10],x[10];
  float a_total=0,b_total=0,c_total=0,d_total=0,e_total=0;
  int *z=a,*y=b,*w=c,*p=d,*q=e,*k=x;
  for(o=0;o<10;o++)
  {
      cout <<"輸入學號及個人成績(中 英 數)\n";
      cin>>x[o]>>a[o]>>b[o]>>c[o];
      d[o] = a[o]+b[o]+c[o];
      e[o] =(a[o]+b[o]+c[o])/3;
      a_total+=a[o];
      b_total+=b[o];
      c_total+=c[o];
      d_total+=d[o];
      e_total+=e[o];

  }
  for(o=0;o<10;o++){
      cout<< " 學號:" << *(k+o)
      << " 中文:" << *(z+o)
      << " 英文:" << *(y+o)
      << " 數學:" << *(w+o)
      << " 總分:" << *(p+o)
      << " 平均:" << *(q+o) << endl;
  }
  std::cout<<" 平均   中文:"<<a_total/10
      <<" 英文:"<<b_total/10
      <<" 數學:"<<c_total/10
      <<" 總和:"<<d_total/10
      <<" 平均:"<<e_total/10<<endl;

  system("pause");
  return 0;
}


[ 此文章被0800959595在2009-02-04 13:56重新編輯 ]

此文章被評分,最近評分記錄
財富:30 (by 三仙) | 理由: 因為您的參與,讓程式設計更容易!!


獻花 x0 回到頂端 [1 樓] From:臺灣 | Posted:2009-02-04 12:32 |
vwmn123 手機
數位造型
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x0
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

表情 原來我第二個FOR設定不一樣,難怪會當機,再請問大大 a_total=0,一定要宣告初始值嗎?表情 表情


獻花 x0 回到頂端 [2 樓] From:歐洲 | Posted:2009-02-04 20:39 |
0800959595
數位造型
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x2
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

下面是引用 vwmn123 於 2009-02-04 20:39 發表的 : 到引言文
表情 原來我第二個FOR設定不一樣,難怪會當機,再請問大大 a_total=0,一定要宣告初始值嗎?表情 表情


因為我是這樣用:複製程式
a_total+=a[o];
在之前一定要給他值=0。


獻花 x0 回到頂端 [3 樓] From:臺灣 | Posted:2009-02-04 21:01 |
teldeanmac85 手機
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x1 鮮花 x21
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

在寫code的時候注意一下
array 宣告的方式或初始值設定
還有for迴圈內的宣告 表情

複製程式
#include <iostream>
using namespace std;

const int m_max = 10;

int main(int argc, char* argv[])
{
       int i ;
                int CH[m_max]={0}, EN[m_max]={0}, MA[m_max]={0};
       int CH_SUM = 0, EN_SUM = 0, MA_SUM = 0;
       double CH_AVG=0.0, EN_AVG=0.0, MA_AVG=0.0;
       int Total[m_max]={0};
       double Total_AVG[m_max]={0.0};
       int AVG_SUM = 0 ;
       double ALL_AVG = 0.0; 

       for(i=0;i<m_max;i++){
              cin>>CH[i]>>EN[i]>>MA[i];
              Total[i] = CH[i]+EN[i]+MA[i] ;
              Total_AVG[i] = ((double)Total[i]) / 3 ; 
       }

       cout<<"==============================================="<<endl;
       for(i=0;i<m_max;i++){
          cout<<"學號 "<<i+1
                     <<" 國文 "<<CH[i]<<" 英文 "<<EN[i]<<" 數學 "<<MA[i]
                     <<" 總合 "<<Total[i]<<" 平均 "<<Total_AVG[i]<<endl;
       }

       for(i=0;i<m_max;i++){
          CH_SUM += CH[i] ;
          EN_SUM += EN[i] ;
          MA_SUM += MA[i] ;
       }
       CH_AVG = ((double)CH_SUM) / m_max ; 
       EN_AVG = ((double)EN_SUM) / m_max ; 
       MA_AVG = ((double)MA_SUM) / m_max ; 

                AVG_SUM = CH_AVG + EN_AVG + MA_AVG ;
                ALL_AVG = ((double)AVG_SUM) / 3 ;
       
       cout<<"==============================================="<<endl;
       cout<<"國文總平均: "<<CH_AVG<<endl;
       cout<<"英文總平均: "<<EN_AVG<<endl;
       cout<<"數學總平均: "<<MA_AVG<<endl;
       cout<<"總分(平均): "<<AVG_SUM<<endl;
       cout<<"總平均: "<<ALL_AVG<<endl;

       system("pause");

       return 0;
}

此文章被評分,最近評分記錄
財富:50 (by 三仙) | 理由: 因為您的參與,讓程式設計更容易!!


獻花 x0 回到頂端 [4 樓] From:歐洲 | Posted:2009-02-05 00:51 |
vwmn123 手機
數位造型
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x0
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

int main(int argc, char* argv[]) -------- ()<--------括號內代表什麼意義
const int m_max = 10;   <----------代表什麼意義
表情 表情 謝謝二位大大


獻花 x0 回到頂端 [5 樓] From:歐洲 | Posted:2009-02-05 06:41 |
teldeanmac85 手機
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x1 鮮花 x21
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

int main(int argc, char *argv[])
命令列參數的使用
http://nknucc.nknu.edu.tw/~...0.htm#third
--
使用 int main() or int main(void) 都行
你可以試看看

const 的宣告
http://nknucc.nknu.edu.tw/~j....htm#fourth
--
const int a = 10 ;
簡單來講   a 的值不能改變
舉個例子
const int a = 10;
a = a - 1 ;
一定會有error ~


int a = 10 ;
a的值可以改變
int a = 10 ;
a = a - 1 ;
是ok的~


獻花 x0 回到頂端 [6 樓] From:臺灣新世紀 | Posted:2009-02-05 08:59 |

首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.055388 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言