一、选择法排序
1.实验代码
include<stdio.h>
main()
{
int a[10], n,i,j,k,temp;
scanf("%d",&n);
for (i = 0; i < n; i++)
{
scanf("%d",&a[i]);
}
for (i = 0; i < n - 1; i++)
{
k = i;
for (j = i + 1; j < n; j++)
{
if (a[j] > a[k])
{
k = j;
}
}
if (k != i)
{
temp = a[k];
a[k] = a[i];
a[i] = temp;
}
}
printf("%d",a[0]);
for (i = 1; i < n; i++)
{
printf(" %d",a[i]);
}
}
2.设计思路
1)输入变量
2)使用for循环
3)使用if语句判断
3.本题调试过程碰到问题及解决方法
输出的数列是从小到大的;
发现是i和k的位置放反了
4.运行结果截图
二、找鞍点
1.实验代码
include <stdio.h>
int main()
{
int a[6][6];
int n;
scanf("%d",&n);
int i,j;
for(i=0; i<n; i++)
for(j=0; j<n; j++)
{
scanf("%d",&a[i][j]);
}
int k=0,y=0,flag=1,p=0;
if(n1)
printf("0 0");
else
{
for(i=0; i<n; i++)
{
y=i;
for(p=0; p<n; p++)
{
if(a[i][k]<=a[i][p])
{
k=p;
}
}
for(j=0; j<n; j++)
{
if(a[y][k]>a[j][k])
{
y=j;
break;
}
}
if(iy)
{
flag=0;
break;
}
}
if(flag==0)
printf("%d %d",i,k);
else printf("NONE");
}
return 0;
}
2.设计思路
1)输入变量
2)定义二维数组
3)找行最大值
3.本题调试过程碰到问题及解决方法
数组元素之间比较发生错误;
发现是变量打错了
4.运行结果截图