资源描述
,单击此处编辑母版标题样式,*,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2024/11/30,1,课后,作业点评,1,、已知一个班,10,个学生的成绩,要求输入这,10,个学生的成绩,然后求出他们的平均成绩。,#include stdio.h,void main(),int a,b,c,d,e,f,g,h,i,j,k;,printf(please enter 10 scoren);,scanf(%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,k=(a+b+c+d+e+f+g+h+i+j)/10;,printf(%d,k);,getch();,2,、已知一个班,10,个学生的成绩,存放在一个一维数组中,要求找出其中成绩最高的学生的成绩和该生的序号。,#include stdio.h,void main(),int i,max=0,k=0;,int a10=90,91,92,93,94,95,99,96,97,98;,for(i=0;i10;i+)/,循环判断最大的数,if(maxai),max=ai;/max,存储数组中最大的数,k=i+1;/,存放最大数的下标,printf(order is%dn max=%d,k,max);,getch();,3,、有,3,个学生,上,4,门课,要求输入全部学生的各门课成绩,并分别求出每门课的平均成绩。,#include,void main(),int scores34;/,定义,3,行,4,列的二维数组,int avgScores4=0,0,0,0;,/,定义一维数组,存储,4,门课平均成绩,int i,j;,printf(Enter array scores:n);,for(i=0;i3;i+),for(j=0;j4;j+),scanf(%d,for(j=0;j4;j+)/,按照每门功课进行累加,for(i=0;i3;i+),avgScoresj+=scoresij;,for(i=0;i4;i+)/,求累加后每门功课的平均成绩,printf(avgscores is%4d n,avgScoresi/3);,getch();,4,、已知,5,个学生的,4,门课的成绩,要求求出每个学生的平均成绩,然后对平均成绩从高到低将各学生的成绩排序记录(成绩最高的学生的排在数组最前面的行,成绩最低的学生排在数组最后面的行)。,#include,void main(),int i,j,k;,int a55=78,79,90,67,60,76,89,63,86,75,96,56,54,63,86,96,63,96,98,97;,/,定义,5,行,5,列的二维数组,存储成绩,及功课平均成绩,int sum,t;,printf(“the original array is:n”);,for(i=0;i5;i+),for(j=0;j5;j+)/,输出排序前数组元素值,printf(%d ,aij);,printf(n);,for(i=0;i5;i+)/,求,5,个学生的平均成绩,sum=0;,for(j=0;j4;j+),sum=sum+aij;,ai4=sum/4;/,平均成绩存放在二维数组每行的第,5,列,printf(n);,for(k=0;k4;k+)/,按照平均成绩进行冒泡法排序,for(i=0;i4-k;i+),if(ai4ai+14)/,将功课的平均成绩进行比较,for(j=0;j5;j+)/,循环交换每行二维数组的值,t=aij;,aij=ai+1j;,ai+1j=t;,printf(the sorted array is:n);,for(i=0;i5;i+),for(j=0;j5;j+),printf(%d ,aij);,printf(n);,getch();,5,、将一个数组中的值按照逆序重新存放。例如,原来顺序为,8,6,5,4,1,,要求改为,1,4,5,6,8,?,#include stdio.h,#include conio.h,#define N 5 /,定义数组长度的符号常量,main(),int aN,i,temp;/,声明数组及变量,printf(Enter array a:n);,for(i=0;iN;i+)/,输入数组元素,scanf(%d,printf(array a:n);,for(i=0;iN;i+)/,输出数组元素的值,printf(%4d,ai);,for(i=0;iN/2;i+)/,数组逆序交换,temp=ai;,ai=aN-i-1;,aN-i-1=temp;,printf(n Now,array a:n);,for(i=0;iN;i+)/,输出逆序交换后的结果,printf(%4d,ai);,printf(n);,getch();,6,、有,15,个数按由大到小的顺序存放在一个数组,输入一个数,要求用折半查找法找出该数是数组中的第几个元素的值?如果该数不在数组中,则输出,“,无此数,”,。,#include stdio.h,#include conio.h,#define N 15,main(),int i,j,number,top,bott,mid,loca,flag=1,sign=1;/,定义变量,int aN=22,20,19,18,17,15,10,9,8,7,6,5,4,3,2;/,数组初始化,char c;,for(i=0;ia0)|(numberaN-1)/,判断是否在合法查找区间,loca=-1;,while(sign=1)&(topamid),bott=mid-1;,else top=mid+1;,if(sign=1|loca=-1)/,判断是否查找成功?,printf(%d is not found.n,number);,printf(Continue or not(Y/N)?);scanf(%c,if(c=N|c=n)flag=0;/,继续查找的标记位为否,getch();,
展开阅读全文