程序举例 #include <stdio h> #define size 10 例读10个整数存入数mamO i int xsIze,i,max,min printf("enter 10 integers: n") for(i=0; K<SIZE; i++) 步骤: i printf("%d 1+1) ()先令maX=mm=py/;scan"%,&x门 1.输入:or循环输入10 2.处理 max-min=XOJ (b)依次用x订和 max, m ford(=1<SZE+) 若 max<X max i if(max<xi) maxx[i 若mmx[令 min=y if(min>x) minX 3.输出:max和min printf("Maximum value is %d\n", max) printf("minimum value is %dn", min)
程序举例 例 读10个整数存入数组,找出其中最大值和最小值 步骤: 1. 输入:for循环输入10个整数 2. 处理: (a) 先令max=min=x[0] (b) 依次用x[i]和max,min比较(循环) 若max<x[i],令max=x[i] 若min>x[i],令min=x[i] 3. 输出:max和min #include <stdio.h> #define SIZE 10 main() { int x[SIZE],i,max,min; printf("Enter 10 integers:\n"); for(i=0;i<SIZE;i++) { printf("%d:",i+1); scanf("%d",&x[i]); } max=min=x[0]; for(i=1;i<SIZE;i++) { if(max<x[i]) max=x[i]; if(min>x[i]) min=x[i]; } printf("Maximum value is %d\n",max); printf("Minimum value is %d\n",min); }
F1=1 例用数组求 Fibonacci数列前20个数 F2=1 (n=2) F=F,+F #include <stdio h> f01 maino i int i intf20}={1,1} 2 for(i=2;i<20;i++) f3] fu=f1-2+fi-1 f4] for(i=0;1<20;i++) f5 f if(1%==0) printf("n") printf(%12d",fi) 1919n19
例 用数组求Fibonacci数列前20个数 f[0] f[1] f[2] f[3] f[4] f[5] f[19] ……... 1 1 f[19] 0 1 4 5 2 3 19 2 3 5 #include <stdio.h> main() { int i; int f[20]={1,1}; for(i=2;i<20;i++) f[i]=f[i-2]+f[i-1]; for(i=0;i<20;i++) { if(i%5==0) printf("\n"); printf("%12d",f[i]); } }
例用冒泡法对10个数排序 排序过程 (1)比较第一个数与第二个数,若为逆序a[0]>a[1],则交换;然 后比较第二个数与第三个数;依次类推,直至第n-1个数和第 n个数比较为止—第一趟冒泡排序,结果最大的数被安置在 最后一个元素位置上 (2)对前n-1个数进行第二趟冒泡排序,结果使次大的数被安置在 第n-1个元素位置 (3)重复上述过程,共经过n-1趟冒泡排序后,排序结束
例 用冒泡法对10个数排序 排序过程: (1)比较第一个数与第二个数,若为逆序a[0]>a[1],则交换;然 后比较第二个数与第三个数;依次类推,直至第n-1个数和第 n个数比较为止——第一趟冒泡排序,结果最大的数被安置在 最后一个元素位置上 (2)对前n-1个数进行第二趟冒泡排序,结果使次大的数被安置在 第n-1个元素位置 (3)重复上述过程,共经过n-1趟冒泡排序后,排序结束
例 38383813131313 4949 49 2727 2727 65651327303030 1327303838 2730 4949 27 30165 65 76 第第第第第第第 始关键字 四五六七 趟趟趟趟趟趟 n=8
例 38 49 65 76 13 27 30 97第一趟 38 49 65 13 27 30 76第二趟 38 49 13 27 30 65第三趟 38 13 27 30 49第四趟 13 27 30 38第五趟 13 27 30第六趟 49 38 65 97 76 13 27 30初始关键字 n=8 38 49 76 9713 9727 3097 97 13 76 76 7627 30 13 6527 6530 65 13 13 49 4930 4927 2738 3830 38 13 27第七趟
#include <stdio. hi main 输入n个数给a1到a]{ int a[l1,i-j, for j=l to n-1 printf("Input 10 numbers: n) for(i=1;i<11i计++) for i-l to n-i scanf("%d", &aiD) aliali+ll printf("n") 真 for(=13j<=9Jj++) ai]>[i+1 for(i=1;i<=10j;i++) if(ai>ai+ID 输出a[到an] {t=a;a[i=a[i+1];a[i+1]=t;} printf("The sorted numbers: n") for(i=1;i<11;i++) printf( %d"aiD)
输入n 个数给a[1] 到 a[n] for j=1 to n-1 for i=1 to n-j a[i]>a[i+1] 真 假 a[i]a[i+1] 输出a[1] 到 a[n] #include <stdio.h> main() { int a[11],i,j,t; printf("Input 10 numbers:\n"); for(i=1;i<11;i++) scanf("%d",&a[i]); printf("\n"); for(j=1;j<=9;j++) for(i=1;i<=10-j;i++) if(a[i]>a[i+1]) {t=a[i]; a[i]=a[i+1]; a[i+1]=t;} printf("The sorted numbers:\n"); for(i=1;i<11;i++) printf("%d ",a[i]); }