精华内容
下载资源
问答
  • 利用C语言可以实现对数组的各种操作,如输入数组元素,输出数组元素、求数组元素平均值、输出数组元素最大值、输出数组元素最小值、查找某数值元素是否存在、给数组元素排序等功能。本压缩文件中是上述功能对应的...
  • 求数组元素的最大值,定义一个临时变量,存储最大值for循环来遍历整个数组。找到最大值 int main(){ int a[] = { 1,-1,99, 2, 34, 45, 6, 8, 9, 32 }; int lengths=( sizeof(a)/ sizeof(a[0])); int max=0; ...

    数组最大值

    求数组元素的最大值,定义一个临时变量,存储最大值,用for循环来遍历整个数组。找到最大值

    int main(){
    	int a[] = { 1,-1,99, 2, 34, 45, 6, 8, 9, 32 };
    	int lengths=( sizeof(a)/ sizeof(a[0]));
    	int max=0;
    	for (int i = 0;i<lengths; ++i){
    		
    		if (a[i]>=a[max]){
    			a[max] = a[i];
    		}	/
    	}
    	printf("最大值是%d  ", a[max]);
    	system("pause");
    	return 0;
    }
    

    数组翻转
    定义两个变量,一个从头开始自减,一个从最后开始自减,当两个相等时,则表明翻转完成。

    在这里插入图片描述

    #include<stdio.h>
    int main(){
    	int a[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
    	int i = 0;
    	int j = sizeof(a) / sizeof(a[0]);
    	int n = j - 1;
    	int temp;
    	while (i < n){
    		temp = a[i];
    		a[i] = a[n];
    		a[n] = temp;
    		i++;
    		n--;
    	}
    	for (int i = 0; i <j; i++){
    		printf("%d\n", a[i]);
    	}
    
    	system("pause");
    	return 0;
    }
    

    下一篇博客我将仔细写一下 冒泡排序。

    展开全文
  • C语言数组的另一种有趣的排列方法,以及输出数组中最大的元素的方法上一讲呢我们介绍了数组的“冒泡排序”法,这一节我们在来看看数组的另一种排列方式-“选择排序方法”和“打擂台”的方法来数组最大值。...

    原标题:C语言之数组的另一种有趣的排列方法,以及输出数组中最大的元素的方法

    上一讲呢我们介绍了数组的“冒泡排序”法,这一节我们在来看看数组的另一种排列方式-“选择排序方法”和用“打擂台”的方法来求出数组的最大值。

    我们先来看看选择排序法:

    选择排序法是以冒泡排序法为基础,进化出来的更有效率的数组排序方法。

    我们先来看一个例子,我们从小到大排列5、3、4、1、2这5个数。

    代码如下:

    /*数组元素从小到大进行排序*/

    #include

    int main()

    {

    int a[5], i, j=1,min;//i控制的是数组的下标,j代表的是i的下一个元素,k控制的是最小的值

    printf("请输入数组元素:\n");

    /*以下循环代表的是数组元素的输入*/

    for (i = 0; i < 5; i++)

    {

    scanf_s("%d", &a[i]);

    }

    /*以下循环是排序循环*/

    for (i = 0; i < 5; i++)

    {

    for (j= i+1; j < 5; j++)//j代表的是数组元素a[i]的下一个元素

    {

    if (a[i] > a[j])

    {

    min = a[j];

    a[j] = a[i];

    a[i] = min;

    }

    /*大家一定要搞懂以上循环的意义*/

    }

    }

    /*以下循环是数组元素的输出*/

    for (i = 0; i < 5; i++)

    {

    printf("%d", a[i]);

    }

    return 0;

    }

    dbde18d2c4f85721fe2a7881b3236dcb.png

    我们来看看程序具体的运行过程是怎样的:

    首先,程序通过scanf_s语句(scanf_s语句是visual stdio 2019版本的编译器中的输入语句,像VC++6.0和DEVC++编译器所用的输入语句是scanf)从键盘获取数组的元素。

    for(i=0;i<5;i++)这层循环先执行,此时的i=0,选出a[0]这个元素与后面的元素比较。

    (所谓的选择排序就是先选择一个数,用这个数与其他数进行比较,如果这个数小于(大于)其他数,就交换位置,否则就不动,继续与下一个数进行比较。)

    程序在向后执行,到了for(j=i+1;j<5;j++)这层循环上了。

    此时的j=1,这是开始执行if语句进行比较,将较小的数向前移动,较大的数向后移动。

    这一个被选出来的元素a[0]和剩余的数比较完成后,在开始第二个数的比较,一次类推····

    直到比较完毕。

    选择排序法的执行效率要比冒泡排序法高。

    我们介绍完了这一种数组的排序方式之后,我们在来介绍一下如何在数组中求出其最大值。

    这个问题我们使用的“打擂台”的方法。

    和选择排序法类似,“打擂台”法也是先选出一个数,假定它是最大的,即这个数是擂主,其他的数依次与擂主进行比较,如果其他的某数大于这个擂主,那么那个数将成为新的擂主,最后输出这个数就行了。

    我们来看一个例子,还是用5、3、4、1、2这5个数,要求我们编写一个程序输出这五个数中最大的数,这和我们在日常考试中碰到的输出某个班级的最高分数类似。

    代码如下:

    #include

    int main()

    {

    int a[5], i,max;

    /*这个循环是控输入数组元素*/

    printf("请输入数组的元素:\n");

    for (i = 0; i < 5; i++)

    {

    scanf_s("%d", &a[i]);

    }

    max = a[0];//我们假定a[0]是最大的元素

    /*以下循环是为了比较出数组中最大的元素*/

    for (i = 0; i < 5; i++)

    {

    if (a[i + 1] > max)

    {

    max = a[i + 1];

    }

    }

    /*最后输出这个比较出来的值就可以了*/

    printf("数组中最大的元素是:%d\n",max);

    return 0;

    }

    1446f60a65726bbe5955274b34ebb4cb.png

    

    好了,今天的讲述就到这里了。返回搜狐,查看更多

    责任编辑:

    展开全文
  • //从键盘输入10个数存入一维数组这10个数中的最大值和最小值并输出 int main() { int i; float max,min,a[10]; printf("请输入10个数,每输入一个数按回车键结束:\n"); for(i=0;i;i++) { scanf...
    #include<stdio.h>//stdio.h是c的标准的i/o库,是以函数的方式向buffer写入或读取字符,iostream.h是c++的标准i/o库,引入了输入/输出流的概念,是一个类库,是以类方法从streambuf中读取,写入字符。
    int max=0;
    int min=1000;
    void change(int a[],int n) 
    {  
      int i,j,k;
      for(i=1;i<n;i++)
      if(a[i]<min)
        {
         min=a[i];
         j=i;
        }
       for(i=1;i<n;i++)
       if(a[i]>max)
        {
         max=a[i];
           k=i;
        }
    a[k]=min;
    a[j]=max;
    printf("the position of min is:%3d\n",j);
    printf("the position of max is:%3d\n",k);
    printf("Now the array is:\n");
    for(i=0;i<n;i++)
    printf("%5d",a[i]);
    }
     main()
    {
    int a[20],i,n;
    printf("please input the number of elements:\n");
    scanf("%d",&n);
    printf("please imput the elements:\n");
    for(i=0;i<n;i++)
      scanf("%d",&a[i]);
    change(a,n);
    printf("\nmax=%d\nmin=%d\n",max,min);
    }


    xiongyao@xiongyao-Lenovo:~/c编程$ gcc  example.c -o example
    xiongyao@xiongyao-Lenovo:~/c编程$ ./example
    please input the number of elements:
    3
    please imput the elements:
    1
    3
    5
    the position of min is:  0
    the position of max is:  2
    Now the array is:
        5    3    1
    max=5
    min=1

    第二种方法:


        #include "stdio.h"  
        //从键盘输入10个数存入一维数组,求这10个数中的最大值和最小值并输出  
        int main()  
        {  
            int i;  
         float max,min,a[10];  
            printf("请输入10个数,每输入一个数按回车键结束:\n");  
            for(i=0;i<10;i++)  
            {  
             scanf("%f",&a[i]);  
            }  
            max=min=a[0];  
            for(i=1;i<10;i++)  
            {     
             if(max<a[i])  
             max=a[i];  
             else if(min>a[i])  
             min=a[i];  
               
            }  
             
            printf("最大为:%f\n最小为:%f\n",max,min);  
            return 0;  
        }   

    xiongyao@xiongyao-Lenovo:~/c编程$ gcc 2.c -o 2
    xiongyao@xiongyao-Lenovo:~/c编程$ ./2
    请输入10个数,每输入一个数按回车键结束:
    1
    3
    6
    5
    9
    23
    56
    95
    45
    8
    最大为:95.000000
    最小为:1.000000
    xiongyao@xiongyao-Lenovo:~/c编程$



    展开全文
  • 头秃,我想了好久没出来,找不到人求助,发个帖求帮忙,难受,我自己写出来运行没啥,就是求大小求最大值很懵[face]monkey:0.gif[/face][face]monkey:0.gif[/face]希望大侠评论区帮帮忙[img=...[/img]
  • 最大值。 其中计算两个整数m、n(m<n)的和函数 实现。 输入格式:第一个整数为n,后续为n对整数。 测试 输入3102017304045输出85 输入412181520410512输出35  </p>
  • //定义最大值 int mid= arr[0]; //定义次大值 for(int i = 0;i<5;i++){ //因为arr[i]是固定的 ,所以可以arr[i]先和max比较,如果大于max 则把max的值赋给mid的值,然后把arr[i]赋给max
    **
    
    ## 求次最值
    
    **
    
    #include <stdio.h>
    int main()
    {
        int arr[5]={5,6,3,4,9};
        int max= arr[0];  //定义最大值
        int mid= arr[0];  //定义次大值
        for(int i = 0;i<5;i++){
            //因为arr[i]是固定的 ,所以可以用arr[i]先和max比较,如果大于max 则把max的值赋给mid的值,然后把arr[i]赋给max  
            //这样max肯定比mid大
            if(arr[i]>max)
            {
                mid = max;
                max =arr[i];
            }
            else if(arr[i]>mid&&arr[i]<max)
            {
                //另一种情况 arr[i]在两者之间*/
                mid = arr[i];
                // 把arr[i]赋给mid
            }
        }
        printf("max=%d,mid=%d\n",max,mid);
        return 0;
    }
    **
    
    ## 求最大值
    
    **
    int main2()
    {
        int maxValue;
        int minValue;
        int arr[10]={-1,6,8,2,0,1,3,5,7,9};
        maxValue=arr[0];
        minValue=arr[0];
        for(int i=1;i<10;i++)
        {
            if(arr[i]>maxValue)
                maxValue=arr[i];
            if(arr[i]<minValue)
                minValue=arr[i];
        }
        printf("maxValue =%d\n",maxValue);
        printf("maxValue =%d\n",minValue);
        return 0;
    }
    
    
    展开全文
  • C语言指针求最大值和最小值

    千次阅读 2018-05-08 18:11:00
    指针求数组最大值和最小值(10分) 题目内容: 指针含有十个元素的数组最大值和最小值 主函数参考 int main() { int a[10],i,maxnum,minnum; for(i=0;i<10;i++) scanf("%d",&a[i]); ...
  • 输入10个整数存在数组中,求最大值。 #include<stdio.h> int main() { int a[10], i, max; printf("输入10个整数,空隔隔开:\n"); for(i=0; i<10; i++) scanf("%d", &a[i]); //打擂台法找最大...
  • C语言 求最大值

    2019-12-29 22:31:56
    也可以将求最大值封装成一个函数;还可以指向数组元素的指针(如*p)或指向数组的指针(如(*p)[100])对数组元素进行访问。 输入 先输入m和n,表示二维数组有m行n列。m或n为0,则结束。(1<=m,n<=100) ...
  • 求C语言题目,要用到指针谢谢!...一个函数数组中数据的最大值和最小值 函数流程 【获取数据】主函数送来数组名、元素个数 【处理数据】最大值和最小值的下标 【产生结果】最大值和最小值的下标
  • 用c语言实现数值的最大值

    千次阅读 多人点赞 2018-12-01 17:38:32
    第一类:给定一个具体的数组求数组中的最大值 程序1: #include&amp;lt;stdio.h&amp;gt; #include&amp;lt;stdlib.h&amp;gt; int main(){ int arr[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 }; int i, j...
  • 递归求数组中的最大值

    千次阅读 2018-09-30 16:54:26
    第一次听闻递归这个概念是在大一上...我们的递归思路是这样的,把一个数组拆分成两个部分,左部分和右部分,然后分别对每个部分求最大值,最后两个部分进行比较,接着,我们将每个部分继续拆分成两个部分,一直拆...
  •  思路:如果能两个辅助数组,那么相对来说简单一点,可定义数组Min和数组Max,其中Min[i]表示自a[i]之后的最小值(包括a[i]),Max[i]表示自a[i]之前元素的最大值。有了这两个辅助数组后,对于a[i],如果它大于...
  • 那么我们先设出一个数组arr[10],用来储存题目中要求的十个整数。 那么这里我们给出一个简单的1~10的数组(打乱大小顺序)来进行程序测试。 数组为:2, 5, 3, 4, 1, 6, 10, 8, 9, 7 代码如下: #include<...
  • 7.5 数组作为函数参数 数组元素作为函数实参 数组元素就是下标变量它与普通变量并无区别 例7.12输入10个整数放入数组求数组的最大值 数组名作为函数参数 用数组元素作实参时只要求数组类型和函数的形参变量的类型...
  • 1127: 【C语言程序设计】[7.4.2]最大元素 [水题] 时间限制: 1 Sec 内存限制: 128 MB 提交: 257 解决: 72 统计 题目描述 编一个程序,读入n个元素的实型数组,然后调用一个函数
  • 题目:从键盘输入10个数存入一维数组这10个数中的最大值和最小值并输出。 下面是我写的程序,我visual studio 2010编译通过,运行正常。 源程序代码如下: #include "stdio.h" //从键盘输入10个...
  • *数组名(arr)单独放在sizeof内部时代表整个数组,在取地址数组名(&arr)时代表整个数组。除此之外都代表数组首元素(arr[0])地址。 *sizeof的单位是字节。 *在32位平台上,地址是4个字节。 *arr一旦参与运算,就...
  • 思想:将矩阵看做一个二维数组scanf()函数输入矩阵,将数组首位设置为最大值max,将max与数组中数按顺序两两比较,更新max,比较到最后一位得到最终max。void main(){ int a[3][4],i,j,max,max_i,max_j; printf...
  • 满意答案 yxy87471850 2013.05.24 ... 所以最终 7 和4比较 得到 较大7 , 0和7比较得到较大的7,9和7得到较大的9 9和6 得到最大9 ,3和9 还是得9,1和9 还是9,最后第一个8和 后面所有的数中最大的9比较 得9 20分享举报
  • C语言10 个整数中最大值

    千次阅读 2018-12-04 11:57:34
    10 个整数中最大值思路:10 个整数中最大值,可以利用数组来完成对10个数的储存,再循环语句和条件语句来判断数的大小, 把最大值赋值给最大值变量max,然后输出最大值。 代码如下: #include&lt;stdio...
  • 这个程序是对已定义的数组进行的操作,所以局限性很大,这里了数据结构的算法,指针,C语言函数的调用,switch的用法 ,自定义数组的长度最大为10,这里数组长度为7,这里希望对初学数据结构与算法的码友有...
  • 说到这个十个整数的最大值 很简单嘛 一giao我嘞giaogiao 我们只需要将10个数字一一比较,并将比较出的较大的数字存入临时变量并输出这个临时变量即可。 先说一种最好想的方法 我们先设出一个数组arr[10],...
  • 对于二维数组{{4,7,3},{5,3,9},...数组最大值,最小值,各行元素值得和及主对角线元素的和。</p>
  • 代码如下: #define _CRT_SECURE_NO_WARNINGS #include&lt;stdio.h&gt;...//用数组的形式来存放10个整数 int i = 0; int max = 0; for (i = 0; i &lt; 10; i++) { sca...
  • 第九章第二次作业 第九章:三四 上机作业:要求下标法和指针法 1输入10个数将它们按由大到小的顺序输出 2编写a数组n个元素中的数值最大和最小的函数要求指针 并一维数组10个数中最大值和最小值 3将给定的一维...
  • 10 个整数中最大值(c语言)

    千次阅读 2018-10-06 12:02:46
    10个整数中的最大值(c语言) 思路:1.运用打擂台的思路进行运算 2.先上去一个数作为擂主,然后依次上去数打擂 3.若打擂失败,则擂主不变,这个数被淘汰 4.若打擂成功,则擂主被淘汰,打擂者作为新的擂主 5.解决这道...
  • 我们知道三个整数的最大值可以先定义三个变量来存放这三个数值,但是如果有十个,一百个,一千个,我们不可能定义那么多变量出来,没有什么意义。怎么解决呢?这个时候我们可以一个数组来存放我们需要比较的数值...

空空如也

空空如也

1 2 3 4 5 ... 9
收藏数 165
精华内容 66
关键字:

c语言用数组求最大值

c语言 订阅