今天复习的知识如下(比较的简单):
1.复习基本的调用函数
#include<stdio.h>
/*int main() //把主函数写在前面
{
int add(int a,int b); //在主函数中一定要声明被调函数
int a,b; //定义变量a,b
scanf("%d%d",&a,&b); //输入变量a,b
printf("%d",add(a,b)); //输出被调函数要执行的操作
return 0;
}
int add(int a,int b) //定义被调函数
{
int c;
c=a+b; //被调函数中要执行的操作
}*/
int add(int a,int b) //把被调函数写在前面
{
int c;
c=a+b; //被调函数中要执行的操作
}
int main() //主函数写在最后不必声明被调函数
{
int a,b;
scanf("%d%d",&a,&b);
printf("%d",add(a,b));
return 0;
}
2.复习冒泡排序法
#include<stdio.h>
int main()
{
int i,j,n;
int a[100];
scanf("%d",&n); //输入数组的元素个数
for(i=0;i<n;i++)
scanf("%d",&a[i]); //输入数组元素
for(i=0;i<n-1;i++)
for(j=0;j<n-1-i;j++)
{
if(a[j]>a[j+1]) //相邻的两个逐个比较,先找最小的、在是第二小的...最后一个就无需比较
{
int t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
for(i=0;i<n;i++)
printf("%d ",a[i]);
return 0;
}
3.选择排序法
这个方法是在哔哩哔哩看视频学到的,应该不是选择排序的方法
#include<stdio.h>
int main()
{
int i,j,n;
int a[100];
scanf("%d",&n); //输入数组元素个数
for(i=0;i<n;i++)
scanf("%d",&a[i]); //输入数组元素
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
{
if(a[i]>a[j]) //从第一个元素开始,依次与其他元素进行比较
{
int t=a[i];
a[i]=a[j];
a[j]=t;
}
}
for(i=0;i<n;i++)
printf("%d ",a[i]);
return 0;
}
4.找一个矩阵中的最大元素下标
#include<stdio.h>
int main()
{
int i,j,m,n,a1,a2;
int a[100][100];
scanf("%d%d",&m,&n);
for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
int max=a[0][0];
for(i=0;i<m;i++)
for(j=0;j<n;j++)
{
if(max<a[i][j])
{
max=a[i][j];
a1=i;
a2=j;
}
}
printf("这个最大数是:%d\n",max);
printf("在矩阵中的行数是:%d\n",a1);
printf("在矩阵中的列数是:%d\n",a2);
return 0;
}
5.将两个有序数组合并为一个有序数组
#include<stdio.h>
int main()
{
int i,j,num1,num2,k=0;
int a[100],b[100],c[200];
scanf("%d%d",&num1,&num2); //输入数组a,b的元素个数
for(i=0;i<num1;i++)
scanf("%d",&a[i]); //输入数组a的元素
for(i=0;i<num2;i++)
scanf("%d",&b[i]); //输入数组b的元素
i=0,j=0;
while(i<num1||j<num2) //当a,b数组元素个数都不符要求是结束
{
if(i<num1&&a[i]<b[j]) //当a数组元素个数符合且大小比b小
{c[k++]=a[i];
i++;}
else
{c[k++]=b[j]; //其余情况从数组b中给c数组
j++;}
}
for(i=0;i<k;i++)
printf("%d ",c[i]); //c数组输出存储的数组a,b
return 0;
}
总结:今天的的复习就先到这了,今天周末出去团建,没有什么时间去学习,希望明天能多刷题、多学新东西。