一,函数第二部分的练习:
1.有3*4的矩阵,初始化他并输出,还求出最大值输出。
#include
void arrscaninit(int arr[][4])
{
int j;
int i;
for(j=0;j<3;j++)
{
for(i=0;i<4;i++)
{
printf("请输入第%d行第%d列的数值\n",j+1,i+1);
scanf("%d",&arr[j][i]);
}
}
}
void arrprintfinit(int arr[][4])
{
int j;
int i;
for(int j=0;j<3;j++)
{
for(int i=0;i<4;i++)
{
printf("%d ",arr[j][i]);
}
puts("\n");
}
}
int arrcountinit(int arr[][4])
{
int j;
int i;
int count=0;
for(int j=0;j<3;j++)
{
for(int i=0;i<4;i++)
{
if(count
2.班上有10个学生,封装一个函数,求班上的平均分,最高分,最低分。
//.班上有10个学生,封装一个函数,求班上的平均分,最高分,最低分。
#include
int max1=0;
int min1=0;
int countarr(int arr[],int len)
{
int i;
int sum1=0;
int aver1;
min1=arr[0];
for(i=0;iarr[i])
min1=arr[i];
}
//均值
aver1=sum1/len;
return aver1;
}
int main()
{
int arr[10]={66,71,55,39,46,85,91,48,81,77};
int len=sizeof arr/sizeof arr[0];
int aver=countarr(arr,len);
printf("平均值%d最高分%d最低分%d",aver,max1,min1);
return 0;
}
3.输入10个数,找出最大值以及最小值的下标
#include
int main()
{
int arr[]={4,8,12,6,13};
int i;
int j;
int leng;
int replace;
leng=sizeof (arr)/sizeof (arr[0]);
for(j=0;jarr[i+1])
{
replace=arr[i];
arr[i]=arr[i+1];
arr[i+1]=replace;
}
}
}
for(i=0;i
4.用函数封装冒泡排序法
#include
int count(int arr[],int leng)
{
int i;
int j;
int replace;
for(j=0;j<leng-1;j++)//j可以看作比较次数,j的最大作用在于-j。
{
for(i=0;i<leng-1-j;i++)//-j的作用在于当最大或最小的数值被比较出来之后,放在最右边不再操作,如将4置放在arr[4]后只需再比较arr[]的前3位。
{
if(arr[i]>arr[i+1])
{
replace=arr[i];
arr[i]=arr[i+1];
arr[i+1]=replace;
}
}
}
}
int main()
{
int i;
int arr[]={4,8,12,6,13};
int leng=sizeof (arr)/sizeof (arr[0]);
count(arr,leng);
for(i=0;i<leng;i++)
{
printf("%d ",arr[i]);
}
return 0;
}