所属课程:选择法排序 。
作业要求:https://pintia.cn/problem-sets/1107465434997153792/problems/1107465486259937281
课程目标:学会运用数组运算,学习数组运算等方法并解决一些实际问题。
作业的运用:运用选择排序法将数组从大到小排序。
参考文献:c语言程序设计书。
作业代码
#include<stdio.h>
int main()
{
int i,n,t,k,index;
scanf("%d",&n);
int a[n];
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
for(k=0;k<n-1;k++){
index=k;
for(i=k+1;i<n;i++){
if(a[i]>a[index]){
index=i;
}
}
t=a[index];
a[index]=a[k];
a[k]=t;
}
printf("%d",a[0]);
for(i=1;i<n;i++){
printf(" %d",a[i]);
}
return 0;
}
1. 设计思路
第一步:定义5个量I,n,t,k,index.定义一个能容纳十个数的数组。
第二步:输入n个数
第三步:利用中间变量对这n个数比较大小,按从大到小排列
第四步:输出这n个数
![](https://img2018.cnblogs.com/blog/1580717/201903/1580717-20190322195541278-1780941336.jpg
问题及解决方法
问题:代码的前半部分是在从大到小排数字,但题目是从大到小输出数字,按照这种思路,后面有一些思路混乱,不知道该如何编写代码。
解决办法:按常规思路来,与同学讨论,上网查寻资料。
运行结果
所属课程:找鞍点
作业要求:https://pintia.cn/problem-sets/1107465434997153792/problems/1107465486259937282
课程目标:学会运用数组运算,学习数组运算等方法并解决一些实际问题。
作业的运用:找出行中最大,列中最小值,对数组进一步进行运用,熟练掌握用数组解决相关问题。
参考文献:c语言程序设计书。
作业代码
#include<stdio.h>
int main()
{
int i,j,n,l,k,flag;
int a[6][6];
scanf("%d",&n);
flag=0;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&a[i][j]); //输入矩阵
}
}
l=0;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(a[i][j]>=a[i][l]&&j!=l) //先在一行中找出最大的值,记下位置;
{
l=j;
}
}
flag=1; //找到一行中的最大值,做个标记令flag=1;
for(k=0;k<n;k++)
{
if(a[k][l]<a[i][l]) //判断它所在的列中是否有比它小的数,
{ //如果有则令flag=0,表示它不是鞍点。
flag=0;
break;
}
}
if(flag==1) //有一个鞍点,即可退出循环。
break;
}
if(flag==0)
printf("NONE");
else
printf("%d %d",i,l);
return 0;
}
设计思路
问题及解决方法
问题:对相关条件判断错误,导致运行错误。
解决方法:自己仔细寻找错误所在。
运行结果
冒泡法排序
作业要求:https://pintia.cn/problem-sets/1107461872653131776/problems/1107464690202009600
课程目标:学会运用数组运算,学习数组运算等方法并解决一些实际问题。
作业的运用:冒泡排序法。
参考文献:自己网上查询的资料。
作业代码
#include<stdio.h>
int main(void)
{
int i,j,temp,n;
int a[10];
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])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
printf("%d",a[0]);
for(i=1;i<n;i++)
printf(" %d",a[i]);
printf("
");
return 0;
}
设计思路
问题及解决方法
问题:先前并不了解冒泡排序是什么,对题目的理解就存在一些问题,导致不知道该如何编写程序
解决方法:自己上网查询。
运行结果
学习进度条
折线图
心得
感觉自己还存在很多不足,缺乏独立思考问题的能力,有一些问题其实仔细思考就会有结果,但自己却未仔细思考就去问同学,或者上网查询资料,希望自己以后能独立思考并解决问题,加油。
结对编程的优缺点
优点:一起合作有利于开拓思维,加速解题过程。
缺点:每个人的想法不一样,可能会造成思想的碰撞。