第14.15周作业

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

 

posted @ 2017-12-03 21:35  关晟强  阅读(173)  评论(3编辑  收藏  举报