2、输入60个成绩 循环60次输入 for(i=0;i<60:i+) scanf( yod", &score[o]: 使用数组的每一个元 素也称数组元素的引用
6 2、输入60个成绩 ▪ 循环60次输入 for (i=0;i<60;i++) scanf("%d",&score[i]); •使用数组的每一个元 素也称数组元素的引用
3、统计不及格人数 从第一个学生起,判断每一个学生的成 绩是否小于60,是的话计数器加1 for(i=0;i<60:i+) if( score工]<60) counter++ 4、输出:
7 3、统计不及格人数 ▪ 从第一个学生起,判断每一个学生的成 绩是否小于60,是的话计数器加1 for (i=0;i<60;i++) if(score[I]<60) counter++; 4、输出:
完整程序 Include <stdio.h> Q:有什么好处? *define N 60 A:测试时可以只将此处 void maino 改为容易测试的数目 〔 nt score[N]://定义时,N不能是变量,只能是常量。 int i counter=o for(i=0:i<N:i++)/输入* scan nff %d", &score[iD: for(i=0;i<N;i++)/统计*/ if(score[i]<60) counter++冫} rintfc"the number of unpassed students %d", counter)
8 完整程序 #include<stdio.h> #define N 60 void main() {int score[N];//定义时,N不能是变量,只能是常量。 int i,counter=0; for (i=0;i<N;i++) /*输入*/ scanf("%d",&score[i]); for (i=0;i<N;i++) /*统计*/ if(score[i]<60) { counter++;} printf("The number of unpassed students:%d",counter); } Q:有什么好处? A:测试时可以只将此处 改为容易测试的数目
例2 求 Fibonacci数列前40项 (n=0,1) fib(n)=fib(n-2)+fib(n-1 int fib[40]={1,1 算法: /为数组的第一、二个元素进行初始化 其它自动为0 定义数组 求每一项 for(=240:i+) 输出每一项/循环求剩余的387i0-1 fib[i=fib[i-2] for(i=0:<40:i++ if(%4==0)/*每输出四个数,输出一个回车*/ printf( printf("‰12d",fib[j〕
9 例2 求Fibonacci数列前40项 ▪ 算法: ▪ 定义数组 ▪ 求每一项 ▪ 输出每一项 fib(n)= 1 (n=0,1) fib(n-2)+fib(n-1) (n>1) int fib[40]={1,1}; /*为数组的第一、二个元素进行初始化, 其它自动为0*/ for(i=2;i<40;i++) fib[i]=fib[i-2]+fib[i-1]; /*循环求剩余的38项*/ for(i=0;i<40;i++) { if(i%4==0)/*每输出四个数,输出一个回车*/ printf("\n"); printf("%12d",fib[i]); }
例2:完整程序 include <stdio.h> void maino int i, fib[40]=[1, 13: for(i=2:<40;i++) fib [i]=fib[i-2]+fib [i-11 for(i=0:i<40;i++) (%5==0) printf( \n): printf"fib[%d]=%5d\t i, fib[i]): 10
10 例2:完整程序 #include <stdio.h> void main() { int i,fib[40]={1,1}; for(i=2;i<40;i++) fib [i]=fib[i-2]+fib [i-1]; for(i=0;i<40;i++) { if(i%5==0) printf("\n"); printf("fib[%d]=%5d\t",i,fib[i] ) ; } }