广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 3045 个阅读者
 
发表文章 发表投票 回覆文章
  可列印版   加为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.056620 second(s),query:16 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言