c语言零基础快速入门教程:请收藏C语言最全入门笔记
c语言零基础快速入门教程:请收藏C语言最全入门笔记更多干货请关注电子芯吧客微信公众号!多维数组也是存在遍历的,和一维数组遍历一样,也是需要用到循环。不一样的就是多维数组需要采用嵌套循环。注意:多维数组的每一维下标均不能越界。 #include<stdio.h> #defineN10 //打印分数 voidprintScore(intscore[]){ inti; printf("\n"); for(i=0;i<N;i ) { printf("%d" score[i]); } printf("\n"); } //计算考试总分 intgetTotalScore(intscore[]){ intsum=0; inti; for(i=0;i<N;i ) { sum =score[i]; } returnsum; } //计算平均分 intgetAvgScor
多维数组的初始化与一维数组的初始化类似也是分两种:
- 数据类型 数组名称[常量表达式1][常量表达式2]...[常量表达式n] = {{值1 .. 值n} {值1 .. 值n} ... {值1 .. 值n}};
- 数据类型 数组名称[常量表达式1][常量表达式2]...[常量表达式n]; 数组名称[下标1][下标2]...[下标n] = 值;
多维数组初始化要注意以下事项:
- 采用第一种始化时数组声明必须指定列的维数。mtianyan: 因为系统会根据数组中元素的总个数来分配空间,当知道元素总个数以及列的维数后,会直接计算出行的维数;
- 采用第二种初始化时数组声明必须同时指定行和列的维数。
二维数组定义的时候,可以不指定行的数量,但是必须指定列的数量
二维数组定义的时候,可以不指定行的数量,但是必须指定列的数量。
多维数组的遍历
多维数组也是存在遍历的,和一维数组遍历一样,也是需要用到循环。不一样的就是多维数组需要采用嵌套循环。
注意:多维数组的每一维下标均不能越界。
综合练习:
#include<stdio.h>
#defineN10
//打印分数
voidprintScore(intscore[]){
inti;
printf("\n");
for(i=0;i<N;i )
{
printf("%d" score[i]);
}
printf("\n");
}
//计算考试总分
intgetTotalScore(intscore[]){
intsum=0;
inti;
for(i=0;i<N;i )
{
sum =score[i];
}
returnsum;
}
//计算平均分
intgetAvgScore(intscore[]){
returngetTotalScore(score)/N;
}
//计算最高分
intgetMax(intscore[]){
intmax=-1;
inti;
for(i=0;i<N;i )
{
if(score[i]>max)
{
max=score[i];
}
}
returnmax;
}
//计算最低分
intgetMin(intscore[]){
intmin=100;
inti;
for(i=0;i<N;i )
{
if(score[i]<min)
{
min=score[i];
}
}
returnmin;
}
//分数降序排序
voidsort(intscore[]){
inti j;
for(i=N-2;i>=0;i--)
{
for(j=0;j<=i;j )
{
if(score[j]<score[j 1])
{
inttemp;
temp=score[j];
score[j]=score[j 1];
score[j 1]=temp;
}
}
}
printScore(score);
}
intmain(){
intscore[N]={67 98 75 63 82 79 81 91 66 84};
intsum avg max min;
sum=getTotalScore(score);
avg=getAvgScore(score);
max=getMax(score);
min=getMin(score);
printf("总分是:%d\n" sum);
printf("平均分是:%d\n" avg);
printf("最高分是:%d\n" max);
printf("最低分是:%d\n" min);
printf("----------成绩排名---------\n");
sort(score);
return0;
}
电子芯吧客转载文章!
更多干货请关注电子芯吧客微信公众号!