输入一组数求最大值(带简单讲解)

声明:

这个代码并非最简单代码,C语言中有很多很便利的函数,写法但本人介于知识暂时有限,无法以更好的方法写出代码,以下所有是基于目前所学。

1.确定基本思路

输入数字并存储------>利用循环判断数字之间大小关系------>

之后会产生两个思路:

  • 指定数组中的一位数与其它数比较,将每一次比较中更大的数放在数组最前
  • 另外定义一个变量与数组中的数经行比较,将更大的数再赋予这个变量,从而实现这个变量的大小就是最大值

2.动手、发现并解决问题

  • 输入:要解决的第一个问题便是输入,这边采取多组输入的模式
  • 循环:for循环(通过定义变量达到控制循环的目的)
  • 结果:打印便可

两方案结果如下:

  • 方案一
int main()
{
	int arr[10];
	int s=0;//s用于记录数组中数的个数当然后期可以换成sizeof(arr) / sizeof(arr[0])
	int o = 0;
	//输入数字部分
	while (scanf("%d", &arr[o]) == 1)
	{
		printf("输入成功\n");
		s++;
		o++;
		if (10 ==s) {
			break;
		}
	}
	for (int a = 0; a <= s-1; a++)
		if (arr[1] < arr[a]) {
			int n = arr[1];//定义临时变量储存达到交换位置目的
			arr[1] = arr[a];
			arr[a] = n;
		}

	printf("最大值是:%d\n",arr[1]);//经过循环换位arr[1]必定是最大值
	system("pause");
	return 0;
 }
  • 方案二
int main()
{
	int arr[10];
	int s = 0;//s用于记录数组中数的个数当然后期可以换成sizeof(arr) / sizeof(arr[0])
	int o = 0;
	//输入数字部分
	while (scanf("%d", &arr[o]) == 1)
	{
		printf("输入成功\n");
		s++;
		o++;
		if (10 == s) {
			break;
		}
	}
	int max = 0;//定义一个变量储存最大值
	for (int a = 0; a <= s - 1; a++){
		if (arr[a] > max)
			max = arr[a];
		}

	printf("最大值是:%d\n", max);
	system("pause");
	return 0;
}

一些作者想说的话:

这个系列会一直更新,如果有什么错误也可以提出来,大家一起进步,加油!

你可能感兴趣的:(一些学习过程中的针对性问题,c语言,学习)