• 第14、15教学周作业


    7-2 查找整数
    1.实验代码

    #include <stdio.h>
    int main()
    {
    	int a[20];
    	int b,c,d,e;
    	scanf("%d %d",&b,&c);
    	for(d = 1,e = 0;d <= b;d = d + 1,e = e + 1)
    	{
    		scanf("%d",&a[e]);
    	}
    	d = 1;
    	e = 0;
    	while(d <= b)
    	{
    		if(a[e] == c)
    		{
    			printf("%d",e);
    			return 0;
    		}
    		e = e + 1;
    		d = d + 1;
    	}
    	printf("Not Found");
    }
    

    2.设计思路
    (1)
    第一步:定义输入数字数量,查找数字b,c数组a。
    第二步:循环输入数组。
    第三步:在循环中判定是否数组中的数字等于查找数字,符合输出并结束,不符合继续循环,结束后输出Not Found。
    (2)

    3.本题调试过程碰到问题及解决办法
    运行结果发现数字和Not Found一同输出,之后在输出后添加return 0后结果正确。

    7-3 选择法排序
    1.实验代码

    #include<stdio.h>
    int main()  
    {  
    	int a[10];
      	int b,c,d,f;
      	scanf("%d",&b);
      	for(c = 0,d = 1;d <= b;c = c + 1,d = d + 1)
      	{
      		scanf("%d",&a[c]);
    	}
    	for(d = 1;d <= b;d = d + 1)
    	{
    		for(c = 0;c < b - d;c = c + 1)
    		{
    			if(a[c] < a[c + 1])
    			{
    				f = a[c];
    				a[c] = a[c + 1];
    				a[c + 1] = f;
    			}
    		}
    	}
    	d = 1;
    	c = 0;
    	while(d <= b)
    	{
    		if(d == 1)
    		{
    			printf("%d",a[c]);
    		}else
    		{
    			printf(" %d",a[c]);
    		}
    		c = c + 1;
    		d = d + 1;
    	}
    }  
    

    2.设计思路
    (1)
    第一步:定义数组a[10],输入整数b,c,d,f,输入数量。
    第二步:循环输入数组a。
    第三步:循环b次判断a[c]小于a[c + 1],符合将a[c + 1]和a[c]交换。
    第四步:循环输出数组。
    (2)

    3.本题调试过程碰到问题及解决办法
    一开始定义数组范围太大,按照题目要求更改后正确。

    7-1 求整数序列中出现次数最多的数
    1.实验代码

    #include<stdio.h>
    int main()  
    {  
    	int a[1000];
    	int e[1000] = {0};
    	int b,c,d,f,g,h,m;
    	scanf("%d",&d);
    	if(d == 1)
    	{
    		scanf("%d",&m);
    		printf("%d 1",m);
    		return 0;
    	}
    	for(b = 0,c = 1;c <= d;b = b + 1,c = c + 1)
    	{
    		scanf("%d",&a[b]);
    	}
    	for(c = 1,f = 0,g = 0;c <= d;c = c + 1,f = f + 1,g = g + 1)
    	{
    		for(b = 0;b < d;b = b + 1)
    		{
    			if(a[g] == a[b])
    			{
    				e[f] = e[f] + 1;
    			}
    		}
    	}
    	c = 1;
    	f = 0;
    	while(c <= d)
    	{
    		if(c == 1)
    		{
    			h = e[f];
    		}else
    		{
    			if(e[f] >= e[f - 1])
    			{
    				h = e[f];
    				m = f;
    			}else
    			{
    				h = h;
    			}
    		}
    		c = c + 1;
    		f = f + 1;
    	}
    	printf("%d %d",a[m],h);
    }
    

    2.设计思路
    (1)
    第一步:定义数组a[1000], e[1000],整数型b,c,d,f,g,h,m。
    第二步:输入数字量,判断输入为1时输入数字再输出数字和1并结束。
    第三步:循环输入数组a。
    第四步:在循环中判断当数字在数组中相等时数组e加1。
    第五步:找出数组e中最大值和对应项。
    第六步:输出最大值和项。
    (2)

    3.本题调试过程碰到问题及解决办法
    数组定义范围错误,更改后正确。

    7-1 判断上三角矩阵
    1.实验代码

    #include <stdio.h>
    int main()
    {
    	int a,b,c,d,e,f;
    	int m[10][10];
    	scanf("%d",&a);
    	e = 1;
    	while(e <= a)
    	{
    		scanf("%d",&b);
    		for(c = 0;c < b;c = c + 1)
    		{
    			for(d = 0;d < b;d = d + 1)
    			{
    				scanf("%d",&m[c][d]);
    			}
    		}
    		for(c = 0,f = 0;c < b;c = c + 1)
    		{
    			for(d = 0;d < b;d = d + 1)
    			{
    				if(c > d)
    				{
    					if(m[c][d] != 0)
    					{
    						f = 1;
    					}
    				}
    			}
    		}
    		if(f == 0)
    		{
    			printf("YES");
    		}
    		else if(f == 1)
    		{
    			printf("NO");
    		}
    		if(e < a)
    		{
    			printf("
    ");
    		}
    		e = e + 1;
    	}
    } 
    

    2.设计思路
    (1)
    第一步:定义整数型a,b,c,d,e,f,数组m[10][10]。
    第二步:输入待测矩阵的个数a。
    第三步:输入数组m[c][d]。
    第四步:判断当上三角矩阵不为零时令f等于1。
    第五步:判断当f为零时输出YES为1时输出NO。
    (2)

    3.本题调试过程碰到问题及解决办法
    一开始题意理解不对,经重新审题后正确。

    要求三
    1.git地址
    https://git.coding.net/z732511533/ZYS.git
    2.截图

    个人总结
    (1)本周你学习了哪些内容?
    学习了数组的应用,冒泡排序法,二维数组。
    (2)本周所学内容中你觉得哪些是难点?
    冒泡排序的升降排序,二维数组的使用。

    互评和学习进度
    1.点评
    高立彬:http://www.cnblogs.com/gao628526/p/7931800.html
    班庆泽:http://www.cnblogs.com/wsbqz/p/7965666.html
    于耀淞:http://www.cnblogs.com/jsjyys/p/7955576.html
    2.表格和折线图

    时间 代码行数 时间1(min) 博客字数 时间2(min) 知识点
    11.20 120 40 0 0 数组
    11.21 100 40 0 0 数组
    11.22 180 50 0 0 数组
    11.23 160 40 0 0 数组
    11.24 150 40 0 0 数组
    11.25 140 40 0 0 数组
    11.26 100 40 0 0 数组
    11.27 80 40 0 0 二维数组
    11.28 100 40 0 0 二维数组
    11.29 60 40 0 0 二维数组
    11.30 70 30 0 0 数组
    12.01 30 10 0 0 数组
    12.02 20 10 0 0 数组
    12.03 40 10 587 250 数组

  • 相关阅读:
    误删本地分支,两天的工作量差点毁于一旦,使用git reflog 有惊无险恢复
    单点登录SSO
    IdentityServer4介绍和使用
    常见的远程无线通信技术
    4G模块和DTU模块有何区别
    以太网IO控制器
    什么是无线网关,无线网关的功能
    什么是IOT网关,网关功能有哪些
    Modbus RTU和Modbus TCP的两种区别
    数据采集网关设备 如何选择数据采集网关
  • 原文地址:https://www.cnblogs.com/2017023960ZYS/p/7966581.html
Copyright © 2020-2023  润新知