void mainvoid int i a10 for i0 i10

  • Slides: 56
Download presentation

一维数组的引用 void main(void ) { int i, a[10]; 定义 for ( i=0; i<10; i++)

一维数组的引用 void main(void ) { int i, a[10]; 定义 for ( i=0; i<10; i++) for ( i=9; i>=0 ; i--) i=0, a[0]=0 i=1, a[1]=1 i=2, a[2]=2 … 赋值 a[i]=i; 0 i=9, a[9]=9 cout<<a[i]<<‘t’; cout<<endl; } 输出 输出: 9_ _8_ _7_ _6_ _5_ _4_ _3_ _2_ _1_ _0 1 2 3 4 5 6 7 8 9 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9]

例1: l 求斐波那契(Fibonacci)数列: 1, 1, 2, 3, 5, 8, . . . 的前20个数: F

例1: l 求斐波那契(Fibonacci)数列: 1, 1, 2, 3, 5, 8, . . . 的前20个数: F 1=1 (n=1) F 2=1 (n=2) Fn=Fn-1+Fn-2 (n>=3) f[0] f[1] f[2] f[3] f[4] f[5] f[6] f[7] 1 1 2 3 5 8 13 21 f [i]=f [i-1]+f [i 2] . .

例1: 程序 void main (void) { int i; int f [20]={1, 1}; for (i=2

例1: 程序 void main (void) { int i; int f [20]={1, 1}; for (i=2 ; i<20 ; i++ ) f [i]=f [i-1]+f [i-2]; for ( i=0; i<20; i++) { if (i%5= =0) cout<<“n”; cout<<f [i]<<‘t’; } } 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765

void main(void) { int a[3][3], i, j; i=0 a[0][0]=0 a[0][1]=1 a[0][2]=2 for (i=0; i<3;

void main(void) { int a[3][3], i, j; i=0 a[0][0]=0 a[0][1]=1 a[0][2]=2 for (i=0; i<3; i++) i=1 a[1][0]=0 a[1][1]=1 a[1][2]=2 for (j=0; j<3; j++) { if (i= =2) i=2 a[i][j]=a[i-1][j]]+1; else a[2][0]=a[1][0]]+1=a[1][0]+1=1 a[i][j]=j; a[2][1]=a[1][1]]+1=a[1][1]+1=2 cout<<a[i][j]<<‘t’; } cout<<endl; } a[2][2]=a[1][2]]+1=a[1][2]+1=3 输出:_ _ _0_ _ _1_ _ _ 2 _ _ _1_ _ _2_ _ _ 3 20

复制两个字符串的函数 2、复制两个字符串的函数 strcpy (str 1, str 2) static char str 1[20]={“I am a ”};

复制两个字符串的函数 2、复制两个字符串的函数 strcpy (str 1, str 2) static char str 1[20]={“I am a ”}; static char str 2[ ]={“boy”}; strcpy (str 1, str 2); str 1 I a m str 2 b o y '' str 1 b o y '' a a strcpy ( str 1, “CHINA”); str 1 C H I '' 字符串正确赋值 N A '' str 1=str 2; str 1=“CHINA”; strcpy (“CHINA”, str 1); 均为非法 39

例: static char str 1[20]={“CHINA”}; static char str 2[ ]={“CHINB”}; cout<< strcmp (str 1,

例: static char str 1[20]={“CHINA”}; static char str 2[ ]={“CHINB”}; cout<< strcmp (str 1, str 2)<<endl; static char str 1[20]={“CHINA”}; static char str 2[ ]={“AHINB”}; cout<<strcmp (str 1, str 2)<<endl; 输出:-1 输出: 2 if (str 1= =str 2) cout<<“yesn”; 非法 正确 if (strcmp (str 1, str 2)= =0) cout<<“yesn”; 41

投票统计的初步程序 main( ) { int n=0, select; static int a[4]; do{ cin>>select; if(select>3||select<1) a[0]++;

投票统计的初步程序 main( ) { int n=0, select; static int a[4]; do{ cin>>select; if(select>3||select<1) a[0]++; else a[select]++; }while(n<=100); for(n=0; n<4; n++) cout<<“a[”<<i<<“]=”<<a[i]; }

冒泡排序 8 5 4 2 0 9 5 8 4 2 0 9 5

冒泡排序 8 5 4 2 0 9 5 8 4 2 0 9 5 4 8 2 0 9 5 4 2 8 0 9 第二趟 循环 4次 5 4 3 0 8 9 5 4 4 5 3 3 0 0 8 8 9 9 4 3 5 0 8 9 4 3 0 5 8 9 第三趟 循环 3次 4 3 3 4 0 0 5 5 8 8 9 9 3 0 4 5 8 9 第四趟 循环 2次 3 0 4 5 8 9 0 3 4 5 8 9 第五趟 循环 1次 49

全部程序 #include "stdafx. h" #include <iostream> using namespace std; int main(int argc, char* argv[])

全部程序 #include "stdafx. h" #include <iostream> using namespace std; int main(int argc, char* argv[]) { int i, a[6], n, t; cout<<"Please input six numbers"<<endl; for(i=0; i<6; i++) cin>>a[i]; cout<<"The six numbers are"<<endl; for (i=0; i<6; i++) cout<<a[i]<<endl; n=6; for (int j=0; j<n-1; j++) for (i=0; i<n-1 -j; i++) { if (a[i]>a[i+1]) { t=a[i]; a[i]=a[i+1]; a[i+1]=t; 冒泡排序部分 } } cout<<"The numbers in adjusted order"<<endl; for (i=0; i<6; i++) cout<<a[i]<<endl; return 0; }

思考题: 在有序数组中插入一个数 例如: 3 5 7 12 (1) a[0] a[1] a[2] a[3] a[4] a[5]

思考题: 在有序数组中插入一个数 例如: 3 5 7 12 (1) a[0] a[1] a[2] a[3] a[4] a[5] 3 5 7 12 18 10 18 将b=10插入 (2) a[0] a[1] a[2] a[3] a[4] a[5] 3 5 7 12 10 18 (3) a[0] a[1] a[2] a[3] a[4] a[5] 3 5 7 10 12 18 网络课程平台http: //course. cn/G 2 S/Template/View. aspx? action=view&course. Type=0&course. Id=2272