Day23-陣列
那今天要教的是陣列
陣列(array)是最基本的資料結構之一,宣告一個陣列,等同於宣告多個同樣型態的變數;陣列最大的好處是:所宣告的變
數在記憶體中是連續的。當3個整數變數被宣告時,程式所得到的記憶體位址不一定或連續,但當一個具有3個元素的整數陣列被宣告時,程式會要求一個連續的記憶體位址,這個特性對工程師很有利。
範例1:
#include<stdio.h>
#include<stdlib.h>
int main(){
int array[10];
array[0]=10;
array[1]=9;
array[6]=1;
printf("%d %d %d",array[0],array[1],array[6]);
system("pause");
}
印出:
錯誤的範例:
解釋:錯誤的那行是語法錯誤,因為陣列的元素個數不可以為一個變數,陣列中的元素個數必須為常數
範例2: 一維陣列設計學生成績系統
#include<stdio.h>
#include<stdlib.h>
in for(i=0;i<10;i++){
printf("請輸入學生%d的成績:",i+1);
scanf("%d",&StuScore[i]);
t main(void){
int i,StuScore[10],total=0;
}
for(i=0;i<10;i++)
total=total+StuScore[i];
printf("平均成績為:%f\n",(double)total/10);
system("pause");
}
印出:
解釋:
StuScore為宣告整數陣列,total變數的初值設為0,再來還利用到for迴圈
範例3: 一元四次方程式
公式:f(x)=〖x^4+2x〗^(2 )+x+4
#include<stdio.h>
#include<stdlib.h>
int S(int ,int );
int main(void){
int i,f[5],x,ans=0;
for(i=0;i<5;i++){
printf("請輸入方程式中 %d 次項的係數",i);
scanf("%d",&f[i]);
}
printf("請輸入欲計算的變數值");
scanf("%d",&x);
for(i=0;i<5;i++){
ans=ans+S(x,i)*f[i];
}
printf("f(%d)=%d\n",x,ans);
system("pause");
}
int S(int x,int n){
int i,tmp=x;
if(n==0) return 1;
for(i=1;i<n;i++)
x=x*tmp;
return x;
}
印出:
那今天就到這裡拉
謝謝大家的閱讀!!