• C++ ~超難我不會

    Posted on 二月 7th, 2010 阮寶瑩 1 comment

    1. 請宣告一個一維陣列(int),由使用者輸入10個數字,程式必須能夠找出最大值、最小值、平均值、標準差及從大排到小的輸出。以上程式需利用指標完成。

    #include<iostream.h>
    void main()
    {
    int*num=new int[10];
    int temp,i=0;
    cout<<"[請輸入10個數字]"<<endl;
    while(i<10)
    {
    cout<<"數字"<<i+1<<">";
    cin>>*(num+i);
    i++;

    }
    for(i=0;i<9;i++)
    for(int j=i+1;j<10;j++)
    {
    if(*(num+i)<*(num+j))
    {
    temp=*(num+i);
    *(num+i)=*(num+j);
    *(num+j)=temp;
    }
    }
    cout<<"[由大而小的順序是]";
    for(i=0;i<10;i++)
    cout<<*(num+i)<<’\t’;
    cout<<endl;
    delete [] num;
    }

    我已打出大小排序了那如何分辨最大值跟最小值等等呢??

     

    1 responses to “C++ ~超難我不會” RSS icon

    • x幻翼﹋飛o翔c☆〃

      #include<iostream>  /* 標準差就留待高手幫忙補充一下 */
      using namespace std;
      int main() {
         int*num=new int[10];
         int temp,i, sum = 0;
         double avg;
         cout<<"請輸入 10 個數字:"<<endl;
         for( i = 0; i < 10; i++) {
            cout<<"數字 "<<i+1<<":";
            cin>>*(num+i);
         }
         for(i=0;i<9;i++)
            for(int j=i+1;j<10;j++)
               if(*(num+i)<*(num+j)) {
                  temp=*(num+i);
                  *(num+i)=*(num+j);
                  *(num+j)=temp;
               }
         cout << "最大值:" << *(num) << endl;
         cout << "最小值:" << *(num + 9) << endl;
         cout << "由大而小的順序是:" << endl;
         for(i=0;i<10;i++) {
            cout<<*(num+i)<<’\t’;
            sum += *(num+i);
         }
         cout << endl;
         avg = (double)sum / 10;
         cout << "平均值:" << avg << endl;
         delete [] num;
         system("pause");
         return 0;
      }


    Leave a reply

    抱歉,您必須要登入才能發表迴響喔!