1.
14.2.5题
#include<stdio.h>
int main()
{
int n,i,k,T,j;
scanf("%d %d",&n,&k);
int a[n];
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<k;i++)
{
for(j=1;j<n-i;j++)
{
if(a[j]<a[j-1])
{
T=a[j];
a[j]=a[j-1];
a[j-1]=T;
}
}
}
for(i=0;i<n;i++)
{
printf("%d",a[i]);
if(i==n-1) break;
printf(" ");
}
return 0;
}
第一步:输入扫描的遍数k,数个数为N,定义数组。
第二步:利用循环输入每个数的值。
第三步:循环镶套,外层为扫描遍数,内层依次比较相邻两数大小,若后项比前项小,则交换两位置的值。
第四步:利用循环依次输出每位的值。
流程图:
错误:
错误原因:第二个循环大条件应该i<k,忘记了题目要求,后发现k没用上并改正。
提交列表:
2.
15.1
#include<stdio.h>
int main()
{
int n,m,i,j,sum=0;
scanf("%d %d",&m,&n);
int a[m][n];
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
sum=sum+a[i][j];
if(j==n-1)
{
printf("%d\n",sum);
sum=0;
}
}
}
return 0;
}
第一步:输入行列数大小m,n。
第二步:循环,输入每行每列每个数的值,求每行的和。
第三步:求出每行的和后再使sum=0.
流程图:
错误:
错误原因:求出答案与所给答案不符,没重新将和调整就进行计算。
提交列表:
要求三:https://coding.net/u/asdfg145632/p/a7/git
要求四(1)学习内容:这两周学习了利用循环排序,利用双数组解决问题等,学习内容较多,需要利用好循环镶套,代码难度明显增加。但解决问题能力也略有增加。
(2)本周利用好循环是难点,代码长度加长,需要明确每个符号代表的作用,需要细心才能解决问题。
要求五:http://www.cnblogs.com/wangzhiheng/p/7967143.html
http://www.cnblogs.com/mayuxin/p/7900356.html
http://www.cnblogs.com/simalang/p/7965750.html