close
有三個題目想請教你ˊˇˋ可不可以教教我... 我有心想學好這個了...
1.設定一個陣列Arr[5], 並以指標變數piVal指向陣列,當你輸入5個數字到陣列中, 將其加總並求其平均至小數點以下第2位
2.請用指標方式改寫CH05_1之一維陣列程式( 須宣告一個指標變數piVal來指向該陣列第一個元素的位址)
3.請設定一個指標陣列ptr1,計算以下結果 4+9+14+19....+99=1030
我先回答你第一題 , 其他如果有回答我會再更新這篇的內容 (2010.02.27) 1.設定一個陣列Arr[5], 並以指標變數piVal指向陣列,當你輸入5個數字到陣列中, 將其加總並求其平均至小數點以下第2位
說明:
#include <iomanip>
我 include iomanip 是因為我要用 setprecision這個 function , 這個函式的作用是限制所顯示的位數 ,
加 fixed的話這個函式就能限定小數點後要取幾位
指標的宣告是 : 變數型態 星號 變數名稱
piVal = &Arr[0];這個就是把指標指向陣列的第一個元素 , 因為陣列的第一個元素就是 index = 0
在陣列前面加 & 的意思就是要取址
如果你在這一行下面再加上 cout << piVal 你會發現他會印出 0x7fff854c7ce0
1.設定一個陣列Arr[5],
2.請用指標方式改寫CH05_1之一維陣列程式(
3.請設定一個指標陣列ptr1,計算以下結果 4+9+14+19....+99=1030
我先回答你第一題 , 其他如果有回答我會再更新這篇的內容 (2010.02.27) 1.設定一個陣列Arr[5],
#include <stdlib.h>
#include <iostream>
#include <iomanip>
using namespace std;
int main(int argc, char *argv[]){
float Arr[5]; // 宣告陣列
float *piVal; // 宣告指標
float sum; // 和
float avg; // 平均
piVal = &Arr[0]; // 將指標指向陣列
int a;
cout << "please give me '5' value:";
int i;
// 開始輸入 Arr[i]
// 開始輸入 Arr[i]
for(i=0;i<5;++i){
cout << "please give me Arr["<<i<<"]:";
cin >> Arr[i] ;
}
// 輸入結束
// 輸入結束
sum = 0;
// 開始計算和 , 這邊是用指標計算
// 因為指標指到的是Arr , 所以會用到剛剛輸入的那五個數字
// 這也是題目所要求的 如果沒有這樣寫並不能符合題目的要求
// 開始計算和 , 這邊是用指標計算
// 因為指標指到的是Arr , 所以會用到剛剛輸入的那五個數字
// 這也是題目所要求的 如果沒有這樣寫並不能符合題目的要求
for(i=0;i<5;++i){
sum+= *(piVal+i);
}
// 計算結束
// 計算平均
// 計算結束
// 計算平均
avg = sum/5;
// 顯示剛剛計算的結果
cout << "Sum: " <<fixed<<setprecision(2)<< sum << endl;
cout << "Average: " <<fixed<<setprecision(2)<< avg << endl;
return 0;
}
說明:
#include <iomanip>
我 include iomanip 是因為我要用 setprecision這個 function , 這個函式的作用是限制所顯示的位數 ,
加 fixed的話這個函式就能限定小數點後要取幾位
指標的宣告是 : 變數型態 星號 變數名稱
piVal = &Arr[0];
在陣列前面加 & 的意思就是要取址
如果你在這一行下面再加上 cout << piVal 你會發現他會印出 0x7fff854c7ce0
這是這個陣列存放的位置 這個指標指到了這個位置
如果我們想印出的是這個位置的值的話 , 就加個 *
cout << piVal 會印出位置
cout << *piVal 會印出這個位置的值
因為我們輸入了 Arr[0] Arr[1] ... Arr[4] 五個數字
如果改用指標表示的話 ,
就是 *piVal , *(piVal+1) ... *(piVal+4)
如果你看得懂的話應該會寫第二題
如果不懂的話你再問問看!!!
如果我們想印出的是這個位置的值的話 , 就加個 *
cout << piVal 會印出位置
cout << *piVal 會印出這個位置的值
因為我們輸入了 Arr[0] Arr[1] ... Arr[4] 五個數字
如果改用指標表示的話 ,
就是 *piVal , *(piVal+1) ... *(piVal+4)
如果你看得懂的話應該會寫第二題
如果不懂的話你再問問看!!!
全站熱搜
留言列表