版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学习情境四 数组,任务分解: 4.1 认识数组,了解使用数组的场合 4.2 使用一维数组 4.3 使用二维数组,P81,情境目标: 一维数组和二维数组的定义、数组元素的引用; 合理选用一维数组和二维数组解决实际问题; 字符数组的定义和使用; 对数据进行查找、插入、删除和排序,常用于处理大批量数据 数据特点:存在内在联系 数组具有相同数据类型的变量集合 这些变量都有相同名字,但下标不同 称这些变量为数组元素 只有一个下标一维数组 有两个下标二维数组,4.1 认识数组,了解使用数组的场合,P82,任务描述: 86. 若有以下说明和语句,则输出结果是 (strlen(s)为求字符串s的长度的函数)
2、char s12=a book!; printf(%d,strlen(s); A. 12 B. 8 C. 7 D. 11 89. 在c语言中,引用数组元素时,其数组下标的数据类型允许是 。 A. 整型常量 B. 整型表达式 C. 整型常量或整型表达式 D. 任何类型的表达式 90以下对二维数组a的正确说明是 。 A. int a3 ; B. float a(3,4); C. double a14; D. float a(3)(4); 91若有说明: int a34; 则对a数组元素的正确引用是 。 A. a24 B. a1,3 C. a1+10 D. a(2)(1);,4.2 使用一维数组,P
3、82,C,C,C,C,任务描述: 93下面程序(每行程序前面的数字表示行号) 。 1 main() 2 3 int a3=0; 4 int i; 5 for(i=0;i3;i+) scanf(%d, 则以下叙述正确的是 。 A. a与b数组完全相同 B. a与b长度相同 C. a和b中都存放字符串 D. a数组比b数组长度长,P82,D,B,D,任务描述: 97有两个字符数组a、b,则以下正确的输入格式是 。 A. gets(a,b); B. scanf(%s%s,a,b); C. scanf(%s%s, 则 。 A. 运行后将输出Chm、 B. 运行后将输出Ch一 C. 运行后将输出Chi
4、D. 编译出错,P82,B,D,D,D,任务描述: 101判断字符串a和b是否相等,应当使用 。 A. if(a=b) B. if(a=b) C. if(strcpy(a,b) D. if(strcmp(a,b)=0) 102判断字符串s1是否大于字符串s2应当使用 。 A. if(sls2) B. if(strcmp(s1,s2) C. if(strcmp(s2,sl)0) D. if(strcmp(s1,s2)0) 103若有说明:int a10; 则对a数组元素的正确引用是 。 Aa10 B. a3.5 C. a(5) D. a10-10 104以下能对一维数组a进行正确初始化的语句是
5、。 Aint a10=(0,0,0,0,0) B. int a10=; Cint a=0; D. int a10=10*1;,P82,D,D,D,D,23功能为读入20个整数,统计非负数个数并计算其和。 main( ) int i,a20,s,count; s=count=0; for(i=0;i20;i+) scanf(“%d”,_); for(i=0;i20;i+) if(ai0) _; s+=ai; count+; printf(“s=%d,count=%dn”,s,count); , int max,min,average,sum=0; int i; for(i=0;iarrayi)
6、_ sum=_; average = _; printf(20个数中最大值是%d,max); printf(最小值是%d,min); printf(和是%d,sum); printf(平均值是%d。n,average); ,20,20,min=arrayi;,sum+arrayi;,sum/20,任务描述: 1、假设用一维数组记录某工人三月份的出勤情况,1表示出勤,0表示缺勤。编程,计算该工人三月份的工资。(工资=出勤天数*50元) 2、假设数组a中已经存放20个整数,编程,将其中所有偶数存放在数组b中,将所有奇数存放在数组c中。 3、某工厂有20名工人,根据1年内每人生产的零件数给奖励,零件
7、数超过1000件的工人奖励500元,零件数在900999件之间的奖励300元。编程,输出每个工人的编号和该工人所生产的零件数及得到奖励工人编号、零件数和奖金。 4、假设已将10名学生的成绩存放在数组中,但发现成绩错一位,即将成绩78、56、89、91、48、68、73、85、76、70存放成78、78、56、89、91、48、68、73、85、76。编程,将每人的成绩修正。 5、假设有一组已按升序排列的10个整数,编程,输入1个整数,并将此整数插入到该有序序列中。 6、编写程序,输入若干个数字,并统计每个数字出现的个数。,4.2 使用一维数组,P82,资讯: 4.2.1 定义与引用一维数组 4
8、.2.2 在字符串中找出数字字符构造新数组 4.2.3 求一批数据中的最大值 4.2.4 在有序数据中插入一个数 4.2.5 排序数据,4.2 使用一维数组,P82,4.2.1 定义与引用一维数组,【实例4.1】编写程序,根据10种商品的进价和销售价,计算各商品的利润。,P82,定义3个含有10个元素的数组a、b、c,分别存放各商品的进价、销售价和利润。利润通过销售价和进价的差得到。,#include main() int a10=12,8,20,15,28,32,38,45,51,65; int b10=20,13,29,22,37,40,49,56,62,78; int c10=0,i=0
9、; for(i=0; i10; i+) printf(%4d,ai); printf(n); for(i=0; i10; i+) printf(%4d,bi); printf(n); for(i=0; i10; i+) ci=bi-ai; for(i=0; i10; i+) printf(%4d,ci); printf(n); ,计算各商品利润,int a10; 表示: a为一维数组名 a的长度为10,即含10个元素 元素为a0、a1、a9 元素类型均为整型,说明:,每个元素都是变量,下标:09,数组元素代表内存中的一个存储单元 数组元素像普通变量一样使用 数组元素用下标形式表示 常用循环对数
10、组进行输入输出操作,为a数组分配10个连续的存储单元 (4字节10=40个字节),数组名表示内存首地址, 是地址常量,一维数组元素的引用 数组必须先定义,后使用 只能逐个引用数组元素,不能一次引用整个数组 数组元素表示形式: 数组名下标 其中:下标可以是常量或整型表达式,例 int i=15; int datai; (不能用变量定义数组维数),例 int a10; printf(“%d”,a); () 必须 for(j=0;j10;j+) printf(“%dt”,aj); (),例 int data5; data5=10; /C语言对数组不作越界检查,使用时要 注意,例 #define N
11、10; float aN; (可以用符号常量定义数组维数),a0=a5+a7-a2*3,int a10; 如何从键盘上给每一个元素赋值?,例:读程序,写结果,main( ) int i, a10; for(i=1;i=0;i-) printf(“%d”,ai); ,9876543210,一维数组的初始化 初始化方式,在定义数组时,为数组元素赋初值 (在编译阶段使之得到初值),int a5=1,2,3,4,5; 等价于:a0=1; a1=2; a2=3; a3=4; a4=5;,说明: 数组不初始化,其元素值为随机数 对static数组元素不赋初值,系统会自动赋以0值,当全部数组元素赋初值时,可
12、不指定数组长度,如 int a5=6,2,3; 等价于: a0=6; a1=2;a2=3; a3=0; a4=0; 如 int a3=6,2,3,5,1; (),static int a5; 等价于:a0=0; a1=0; a2=0; a3=0; a4=0;,只给部分数组元素赋初值,int a=1,2,3,4,5,6; 编译系统根据初值个数确定数组元素个数,int a10=0,0,0,0,0,0,0,0,0,0; 或 int a10=0; int a10=0*10; ,4.2.2 在字符串中找出数字字符构造新数组,【实例4.2】编写程序,在一串字符中找出所有数字字符构成新的数组。,P84,ch
13、的值为数字字符的条件是满足ch0 且 ch9,需要定义2个数组,使用2个循环变量i和j,i用于从第1个数组中逐个访问各元素,j用于构建第2个数组,#include main() char old80=From 500 B.C. to 500 A.D. is 1000 years.,new80=0; int i=0,j=0; while(oldi!=0) if(oldi=0 ,字符串结束符,#include main() char old80=From 500 B.C. to 500 A.D. is 1000 years.,new80=0; int i=0,j=0; while(oldi!=0)
14、 if(oldi=0 ,若是数字字符,给新数组元素赋值,新数组元素下标值增1,#include main() char old80=From 500 B.C. to 500 A.D. is 1000 years.,new80=0; int i=0,j=0; while(oldi!=0) if(oldi=0 ,old0为F,不等于0,#include main() char old80=From 500 B.C. to 500 A.D. is 1000 years.,new80=0; int i=0,j=0; while(oldi!=0) if(oldi=0 ,F不是数字字符,不执行,i变为1,
15、#include main() char old80=From 500 B.C. to 500 A.D. is 1000 years.,new80=0; int i=0,j=0; while(oldi!=0) if(oldi=0 ,old1为r,不等于0,#include main() char old80=From 500 B.C. to 500 A.D. is 1000 years.,new80=0; int i=0,j=0; while(oldi!=0) if(oldi=0 ,r不是数字字符,不执行,i变为2,同样i变为5后,#include main() char old80=From
16、 500 B.C. to 500 A.D. is 1000 years.,new80=0; int i=0,j=0; while(oldi!=0) if(oldi=0 ,old5为5,不等于0,#include main() char old80=From 500 B.C. to 500 A.D. is 1000 years.,new80=0; int i=0,j=0; while(oldi!=0) if(oldi=0 ,5是数字字符,new0变为5 j变为1,i变为6,#include main() char old80=From 500 B.C. to 500 A.D. is 1000 y
17、ears.,new80=0; int i=0,j=0; while(oldi!=0) if(oldi=0 ,old6为0,不等于0,#include main() char old80=From 500 B.C. to 500 A.D. is 1000 years.,new80=0; int i=0,j=0; while(oldi!=0) if(oldi=0 ,0是数字字符,new1变为0 j变为2,i变为7,#include main() char old80=From 500 B.C. to 500 A.D. is 1000 years.,new80=0; int i=0,j=0; whi
18、le(oldi!=0) if(oldi=0 ,人为存放字符串的结束符,输出两个字符串,字符数组和字符串 字符数组 定义,字符数组的初始化 逐个字符赋值 用字符串常量,例 char c10;,例 输出一个字符串,#include main() char c10=I, ,a,m, ,a, ,b,o,y; int i; for(i=0;i10;i+) printf(%c,ci); printf(n); ,字符数组的引用,字符串 字符串及其结束标志 无字符串变量,用字符数组处理字符串 字符串结束标志:0,字符串的输入输出 逐个字符I/O: %c 整个字符串I/O: %s,例 用%c main() ch
19、ar str5; int i; for(i=0;i5;i+) scanf(“%c”, ,例 用%s main() char str5; scanf(“%s”, str); printf(“%s”, str); ,用字符数组名,不要加 printf(“%s”,a); ,例 main( ) char a =“Hello”; printf(“%s”,a); ,结果:Hello#-=*,结果:Hello,用“%s”输出时, 遇0结束,main() char a=h,e,l,0,l,o,0; printf(%s,a); ,例,输出:hel,数组中有多个0时, 遇第一个结束,main() int i; c
20、har a5; scanf(%s,a); for(i=0;i5;i+) printf(%c,ai); ,运行情况: (1)若输入 hel , 正常 (2)若输入 hell , 正常 (3)若输入 hello , 用%s 输出时,会出现问题,输入字符串长度数组长度,例 字符串输入举例,#include main() char a15,b5,c5; scanf(%s%s%s,a,b,c); printf(a=%snb=%snc=%sn,a,b,c); scanf(%s,a); printf(a=%sn,a); ,运行情况: 输入:How are you? 输出:a=How b=are c=you?
21、 输入:How are you? 输出:a=How,scanf中%s输入时,遇空格或回车结束,运行情况: 输入:How are you?,4.2.3 求一批数据中的最大值,【实例4.3】编写程序,输入100名学生学号和学年总平均成绩,并找出其中成绩最高的学生。,P85,定义2个数组num和score,从数组score中查找最大元素下标值开始入手,学号存放在num中,对应平均成绩存放在score中,k=0,求最大值的算法,假设第1个元素最大,k=0,求最大值的算法,从第2个元素开始找,i=1,k=0,求最大值的算法,没比完?,i=1,iN?,是,k=0,求最大值的算法,找到更大的?,i=1,iN
22、?,是,scorekscorei?,是,k=0,求最大值的算法,记住更大元素下标值,i=1,iN?,是,scorekscorei?,是,k=i,k=0,求最大值的算法,取下一个元素,i=1,iN?,是,scorekscorei?,是,i增1,k=i,k=0,求最大值的算法,i=1,iN?,是,scorekscorei?,是,i增1,k=i,没比完?,找到更大的?,否,k=0,求最大值的算法,i=1,iN?,是,scorekscorei?,是,i增1,k=i,没比完?,否,否,输出scorek和numk,输出最高成绩和对应学号,#include #define N 5 main() int nu
23、mN=0,i=0,k=0; float scoreN=0.0; printf(numbers and scores:n); for(i=0; iN; i+) scanf(%d%f,方便修改人数,for(i=0; iN; i+) printf(%8d,numi); printf(n); for(i=0; iN; i+) printf(%8.2f,scorei); printf(n); for(i=1; iN; i+) if(scorekscorei) k=i; printf(%d,%.2fn,numk,scorek); ,查找最大元素的下标值,同时输出相同下标的元素,4.2.4 在有序数据中插入
24、一个数,【实例4.4】编写程序,在已按小到大的顺序存入的学号中插入1个新学生学号。要求使学号仍然按原来的顺序有序。,P87,查找位置 数据移动 插入数据,1002,0,num,1003,1006,1008,1010,0,1,2,3,4,5,1007,1002,0,num,1003,1006,1008,1010,0,1,2,3,4,5,1007,1002,0,num,1003,1006,1008,1010,0,1,2,3,4,5,1007,1002,0,num,1003,1006,1008,1010,0,1,2,3,4,5,1007,1002,0,num,1003,1006,1008,1008,
25、1010,1,2,3,4,5,1007,1002,0,num,1003,1006,1008,1008,1010,1,2,3,4,5,1007,#include #define N 5 main() int numN+1=1002,1003, 1006,1008,1010; int i=0,j=0,new=0; printf(Original numbers:n); for(i=0; iN; i+) printf(%6d,numi); printf(n);,printf(Input a student number:); scanf(%d,查找插入位置,将数据向后移动,插入数据,printf(F
26、inal numbers:n); for(i=0; iN+1; i+) printf(%6d,numi); printf(n); ,4.2.5 排序数据,【实例4.5】编写程序,将8名候选人的投票数由多到少排序。,P89,34,0,a,56,45,57,69,48,1,2,3,4,5,79,61,6,7,从8个元素中找出最大元素,k=0; for(j=1; j8; j+) if(akaj) k=j;,34,0,a,56,45,57,69,48,1,2,3,4,5,79,61,6,7,最大元素与第1个元素对调,k=0; for(j=1; j8; j+) if(akaj) k=j;,t=a0; a
27、0=ak; ak=t;,79,0,a,56,45,57,69,48,1,2,3,4,5,34,61,6,7,最大元素与第1个元素对调,k=0; for(j=1; j8; j+) if(akaj) k=j;,t=a0; a0=ak; ak=t;,79,0,a,56,45,57,69,48,1,2,3,4,5,34,61,6,7,从后7个元素中找出最大元素,k=1; for(j=2; j8; j+) if(akaj) k=j;,79,0,a,56,45,57,69,48,1,2,3,4,5,34,61,6,7,k=1; for(j=2; j8; j+) if(akaj) k=j;,最大元素与第2个
28、元素对调,t=a1; a1=ak; ak=t;,79,0,a,69,45,57,56,48,1,2,3,4,5,34,61,6,7,k=1; for(j=2; j8; j+) if(akaj) k=j;,最大元素与第2个元素对调,t=a1; a1=ak; ak=t;,79,0,a,69,45,57,56,48,1,2,3,4,5,34,61,6,7,从后6个元素中找出最大元素,k=2; for(j=3; j8; j+) if(akaj) k=j;,79,0,a,69,45,57,56,48,1,2,3,4,5,34,61,6,7,k=2; for(j=3; j8; j+) if(akaj) k
29、=j;,最大元素与第3个元素对调,t=a2; a2=ak; ak=t;,79,0,a,69,61,57,56,48,1,2,3,4,5,34,45,6,7,最大元素与第3个元素对调,排序,k=i; for(j=i+1; j8; j+) if(akaj) k=j; t=ai; ai=ak; ak=t;,for(i=0; i7; i+) ,#include main() int a8=34,56,45,57,69,48,79,61, i=0,j=0,k=0,t=0; for(i=0; i7; i+) k=i; for(j=i+1; j8; j+) if(akaj) k=j; t=ai; ai=ak
30、; ak=t; for(i=0; i8; i+) printf(%5d,ai); printf(n); ,1、假设用一维数组记录某工人三月份的出勤情况,1表示出勤,0表示缺勤。编程,计算该工人三月份的工资。(工资=出勤天数*50元),#include #define N 31 void main() int workN; int i; int num=0; int salary; printf(请输入某工人的出勤情况:n); for(i=0;iN;i+) scanf(%d, ,2、假设数组a中已经存放20个整数,编程,将其中所有偶数存放在数组b中,将所有奇数存放在数组c中。,#include
31、#define N 20 void main() int aN, bN,cN; int i,j=0,k=0; printf(请输入20个整数:n); for(i=0;iN;i+) scanf(%d, ,printf(数组a中的值为:n); for(i=0;iN;i+) printf(%d ,ai); printf(n); printf(数组b中的值为:n); for(i=0;ij;i+) printf(%d ,bi); printf(n); printf(数组c中的值为:n); for(i=0;ik;i+) printf(%d ,ci); printf(n); ,3、某工厂有20名工人,根据1
32、年内每人生产的零件数给奖励,零件数超过1000件的工人奖励500元,零件数在900999件之间的奖励300元。编程,输出每个工人的编号和该工人所生产的零件数及得到奖励工人编号、零件数和奖金。,#include #define N 10 void main() int aN,bN; int i; printf(请输入工人的编号:n); for(i=0;iN;i+) scanf(%d,printf(n得到奖励的工人的编号、零件数和奖金为:n); for(i=0;i=900 ,4、假设已将10名学生的成绩存放在数组中,但发现成绩错一位,即将成绩78、56、89、91、48、68、73、85、76、7
33、0存放成78、78、56、89、91、48、68、73、85、76。编程,将每人的成绩修正。,#include #define N 10 void main() int scoreN=78,78,56,89,91,48,68,73,85,76; int i; printf(存放错误的学生成绩为:n); for(i=0;iN;i+) printf(%-4d,scorei); printf(n); for(i=1;iN;i+) scorei-1=scorei; score9=70; printf(修正后的成绩为:n); for(i=0;iN;i+) printf(%-4d,scorei); pri
34、ntf(n); ,5、假设有一组已按升序排列的10个整数,编程,输入1个整数,并将此整数插入到该有序序列中。,#include #define N 10 void main() int aN+1; int i,j,num; printf(请输入10个已按升序排列的整数:n); for(i=0;i=i;j-) aj+1=aj; ai=num; printf(插入数据后的有序序列为:n); for(i=0;iN+1;i+) printf(%-5d,ai); printf(n); ,6、编写程序,输入若干个数字,并统计每个数字出现的个数。,#include #define N 10 void mai
35、n() int num,i; int a10=0; printf(请输入若干个数字:n); scanf(%d, ,任务描述: 90以下对二维数组a的正确说明是 。 A. int a3 ; B. float a(3,4); C. double a14; D. float a(3)(4); 91若有说明: int a34; 则对a数组元素的正确引用是 。 A. a24 B. a1,3 C. a1+10 D. a(2)(1); 92以下能对二维数组a进行正确初始化的语句是 。 A. int a2=1,0,1,5,2,3; B. int a3=1,2,3,4,5,6; C. int a24=1,2,3
36、,4,5,6; D. int a3=1,0,1,1,1; 94若有说明: int a 3=1,2,3,4,5,6,7; 则a数组第一维的大小是 。 2 B. 3 C. 4 D. 无确定值 105若有说明: int a34; 则对a数组元素的非法引用是 。 Aa02*1 B. a13 C. a4-20 D. a04 106若有说明:int a34=0; 则下面正确的叙述是 。 A只有元素a00可得到初值0 B此说明语句不正确:。 C数组a中各元素都可得到初值,但其值不一定为0。 D数组a中每个元素均可得到初值0,4.3 使用二维数组,P91,C,C,B,B,D,D,107若有说明:int a4=
37、0,0; 则下面不正确的叙述是 。 A数组a的每个元素都可得到初值0 B二维数组a的第一维大小为1 C只有元素a00和a01可得初值0,其余元素均得不到初值0 D数组a行数为1 24函数min_a()用于求一个34矩阵中最小元素。 min_a(int a34) int i,j, min; min=a00; for(i=0;i3;i+) for(j=0;j4;j+) if(_) min=aij; return(min); ,C,minaij,25根据以下说明,写出正确的说明语句。 (1)men是一个有10个整型元素的数组 _ (2)step是一个有4个实型元素的数组,元素值分别为1.9, -2.
38、33, 0, 20. _ (3)grid是一个二维数组,共有4行,10列整型元素 _ 26. 请回答下列问题。 (1)array是一个一维整型数组,有10个元素,前6个元素的初值是9,4,7,49,32,-5,请写出正确的说明语句。 (2)该数组下标的取值范围是从_到_(从小到大)。 (3)如何用scanf函数输入数组的第二个元素。 _ (4)如何用赋值语句把39存入第一个元素。 _ (5)如何表示把第六个和第四个元素之和存入第一个元素。 _,int men10;,float step4=1.9,-2.33,0,20;,int grid410;,int array10=9,4,7,49,32,
39、-5;,0,9,scanf(“%d”,array0=39;,array0=array5+array3;,28该程序的运行结果是: min=_,m=_,n=_。 main() float array43= 3.4,-5.6,56.7, 56.8,999.,-.0123, 0.45,-5.77,123.5, 43.4,0,111.2 ; int i,j; float min; int m,n; min = array00; m=0;n=0; for(i=0;i arrayij) min = arrayij; m=i;n=j; printf(min=%5.2f,m=%d,n=%dn,min,m,n)
40、; ,-5.77,2,1,任务描述: 1、假设有一个3*4的矩阵,编程,找出其中值最大的元素,并输出最大值、最大值所在的行号和列号。 2、假设有一个3*4的矩阵,编程,将其中所有3的倍数的元素值均改为3。,4.3 使用二维数组,P91,资讯: 4.3.1 求两个矩阵的和 4.3.2 求方阵对角线上元素之和 4.3.3 显示算术题和学生答题信息 4.3.4 编写不同级别的打字练习程序 4.3.5 统计一个学习小组的成绩,4.3 使用二维数组,P91,4.3.1 求两个矩阵的和,【实例4.6】编写程序,计算两个34矩阵的和。,P91,定义3个二维数组a、b、c。 对2个矩阵的所有对应元素求和即可得
41、到该2个矩阵之和。,#include main() int a34=3,8,12,15, 2,6,15,13,5,7,10,16; int b34=6,10,17,15, 5,12,19,20,7,16,21,16; int c34=0,i=0,j=0;,a12,?,a21,?,printf(Array a:n); for(i=0; i3; i+) for(j=0; j4; j+) printf(%4d,aij); printf(n); printf(Array b:n); for(i=0; i3; i+) for(j=0; j4; j+) printf(%4d,bij); printf(n)
42、; ,输出一行后换行,输出三行,for(i=0; i3; i+) for(j=0; j4; j+) cij=aij+bij; printf(Array c:n); for(i=0; i3; i+) for(j=0; j4; j+) printf(%4d,cij); printf(n); ,二维数组的定义 定义方式: 数据类型数组名常量表达式常量表达式;,数组元素的存放顺序 原因:内存是一维的 二维数组:按行序优先 多维数组:最右下标变化最快,例 int a34; float b25; int c234; int a3,4; (),行数,列数,元素个数=行数*列数,二维数组理解,每个元素ai由包
43、含4个元素 的一维数组组成,二维数 a是由3个元素组成,二维数组元素的引用 形式: 数组名下标下标 二维数组元素的初始化 分行初始化:,按元素排列顺序初始化,4.3.2 求方阵对角线上元素之和,【实例4.7】编写程序,分别计算55方阵的主对角线上的元素之和与副对角线上的元素之和。,P93,行下标和列下标的值相等,3 18 21 25 28 2 61 52 23 35 25 17 81 56 63 26 60 53 31 65 45 37 21 56 63,行下标与列下标的和为4,if(i=j) s1=s1+aij;,if(i+j=4) s2=s2+aij;,#include main() in
44、t a55=3,18,21,25,28, 2,61,52,23,35, 25,17,81,56,63, 26,60,53,31,65, 45,37,21,56,63; int i=0,j=0,s1=0,s2=0;,printf(Array a:n); for(i=0; i5; i+) for(j=0; j5; j+) printf(%4d,aij); printf(n); ,for(i=0; i5; i+) for(j=0; j5; j+) if(i=j) s1=s1+aij; if(i+j=4) s2=s2+aij; printf(s1=%d,s2=%dn,s1,s2); ,4.3.3 显示
45、算术题和学生答题信息,【实例4.8】编写程序,给小学生出4道100以内2个数的加法题,每道题分数为25,最后将题目与学生的答题结果、正确答案、实际得分显示在屏幕上。,P94,#include #include #include #define N 4 main() int i=0,total=0; int aN6=0;,for(i=0; iN; i+) ai0=random(100); ai1=random(100); printf(%d+%d=,ai0,ai1); scanf(%d, ,for(i=0; iN; i+)printf(%2d+%2d=%3d%5d %5d%5dn,ai0,ai1, ai2,ai3,ai4, ai5); printf(The score is:%dn,total); ,4.3.4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 26年石棉暴露随访手册
- 企业安全生产培训教育
- 独自在家安全教育
- 空气拔罐教学设计
- 家装设计案例展示
- 墙壁粉刷流程
- 宠物安全教育指南
- 舞蹈教育生涯规划
- 家长普法教育实务指南
- 人体器官系统通识教育
- 2025年电工(中级)实操技能考核试题(附答案)
- 2026年交管12123驾照学法减分完整版试卷附答案详解(轻巧夺冠)
- 2025-2030中国短肽型肠内营养剂行业市场现状分析及竞争格局与投资发展研究报告
- (二模)呼和浩特市2026年高三年级第二次模拟考试生物试卷(含答案)
- 2025年广东省深圳市初二学业水平地理生物会考真题试卷(+答案)
- 园林绿养护安全培训内容
- (二模)包头市2026年高三第二次模拟考试政治试卷(含答案)
- 2026年深圳市创新投资集团有限公司校园招聘考试参考试题及答案解析
- 水利水电工程单元工程施工质量检验表与验收表(SLT631.5-2025)
- 监理安全检查工作制度
- 建筑外墙维修工程技术标书模板
评论
0/150
提交评论