冒泡排序
求小猪的重量
#include <stdio.h>
int main(){
//十只小猪找到最大的小猪体重
int arr[10];
int i;
int temp = 0;//记录小猪最大体重
for(i=0;i<10;i++){
scanf("%d",&arr[i]);
}
for(i=0;i<10;i++){
if(temp < arr[i]){
//记录最大小猪体重
temp=arr[i];
}
}
printf("最重的小猪为:%d\n",temp);
}
结果
这玩意记住即可。
练习
int main(){
//排序 冒泡排序
//int arr[10]={9,1,2,8,4,5,10,7,3,6};
int arr[10]={9,1,2,8,4,5,10,7,3,6};
int i,j;
int temp;
for(i=0;i<10-1;i++){
//每次内层循环可以确定一个有效的值
for(j=0;j<10-i-1;j++){
//在条件判断中如果是<小于好是降序
//如果是大于号>是升序,记住就行了哈。
if(arr[j] > arr[j+1]){
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
for(i=0;i<10;i++){
printf("%d\n",arr[i]);
}
}
结果
二维数组
#include <stdio.h>
int main(){
//一维数组定义
//数据类型 数组名(元素个数)
//二维数组定义
//数据类型 数据名【行】【列】 行*列=数组元素个数
int arr[4][3]={
{88,99,100},
{36,42,59},
{60,60,60},
{80,88,88}
};
int i,j;
for(i=0;i<4;i++){
for(j=0;j<3;j++){
printf("%d ",arr[i][j]);
//%d 后面的空号可以起到隔空的效果
} printf("\n");
}
}
结果
练习:
#include <stdio.h>
int main(){
/*要求:求出四名学生三门功课的总成绩
和各个学科的总成绩*/
int arr[4][3]={
{88,99,100},
{36,42,59},
{60,60,60},
{88,88,88}
};
//求出每名学生的总成绩
int sum=0;
int i,j;
for(i=0;i<4;i++){
for(j=0;j<3;j++){
sum +=arr[i][j];
}
printf("第%d名学生的总成绩为:%d\n",i+1,sum);
sum=0;//重新初始化
}
sum=0;//求出每个学科的总成绩
//将行和列颠倒
for(i=0;i<3;i++){
for(j=0;j<4;j++){
sum+=arr[j][i];
}
printf("第%d门学科的总成绩为:%d\n",i+1,sum);
sum=0;
}
}
结果
总之就是这样了,这些代码我要用打印机打印出来,多看看,多看看,再好好理解,一定一定要懂啊。后面感觉有一点点吃力了,我得加油啊!!!