C语言深度剖析,关于查找一个数组里面的最大值(max)、最小值(min)的通俗算法,简单易懂。采用比较法进行查找。

一、查找数组里面的最大值

这里采用了一个假设

假设第一个数为最大值,其他数与第一个数比较。

#include 
int main()
{
    int arr[]={1,2,95,4,10,60,40};
    int max = arr[0]; 
    //假设第一个数为最大值,其他数与第一个数比较
    int i =0;
    int sz = sizeof(arr)/sizeof(arr[0]);
    // sz =元素个数,从第二个开始比较。
    for ( i = 1; i max)
        {
            //采用比较法,如果元素大于max,就标记。
            max=arr[i];
        } 
    }
    printf("max= %d\n",max);
    return 0;
}

二、查找数组里面的最小值

这个算法与上面求解最大值的方法相反。

#include 
int main()
{
    int arr[]={1,-2,95,4,-10,60,40};
    int min = arr[0]; 
    //假设第一个数为最小值,其他数与第一个数比较
    int i =0;
    int sz = sizeof(arr)/sizeof(arr[0]);
    // sz =元素个数,从第二个开始比较。
    for ( i = 1; i 

三、乘法口诀表的打印

1、首先,定义行和列。

用行标记来确定列的数量。

i 来表示行, j来表示列。

2、内嵌的for循环只打印一行所有列。

如,i=3时,此时j<=3.

从1*3 遍历到3*3后内嵌循环结束,

3、printf("\n"); //打印一行就换行。

4、然后外部for循环开始下一轮,直到打印第九次结束!!!

#include 
#include 
//乘法口诀表
int main()
{
    int i = 0;
    //确定打印9行
    for (i = 1; i <=9; i++)
    {
        //打印一行
        int j = 1;
        for ( j = 1; j <=i; j++)
        {
            printf("%d*%d=%-2d ",i,j,i*j);
            //%-2d 的意思是两位数,不够两位数用空格补齐。
            //-2 负号是左对齐。
        } 
        printf("\n"); //打印一行就换行。
    }
    return 0;
}

你可能感兴趣的:(C/C++,算法,c语言,数据结构)