急求C++程序设计:一个8 个整数的数组,使用键盘输入数据,找出最小数和最大数及其下标,并输出。

急求C++程序设计:一个8 个整数的数组,使用键盘输入数据,找出最小数和最大数及其下标,并输出。,第1张

#include <iostream>

using namespace std

int main()

{

int a[8] = {0}

for(int i = 0i <8++i)

{

cout <<"请输入第 " <<i <<" 个数:"

cin >>a[i]

}

int min = a[0]

int max = a[0]

int min_flag = 0

int max_flag = 0

for(int i = 0i <8++i)

{

if(a[i] <min)

{

min = a[i]

min_flag = i

}

if(a[i] >max)

{

max = a[i]

max_flag = i

}

}

cout <<"最小数为第 " <<min_flag <<" 个数 " <<min <<endl

cout <<"最大数为第 " <<max_flag <<" 个数 " <<max <<endl

system("pause")

return 0

}

1.系统函数

array_chunk() 把一个数组分割为新的数组块

array_slice()  返回数组中被选定的部分等,更多的参考w3school

http://www.w3school.com.cn/php/php_ref_array.asp,程序员要学会用手册

2.自定义函数:

当系统函数不能满足实际需求时,根据实际的需求,自己重新定义函数

function(){}

3、 计算参数的数组:

参数1是传入数组,参数2是每个分数组元素数量//调用方法返回的是二维数组,可以用数组下标取出你需要的一维数组。

function arr_oper ( $arr, $num ) {

$count = count ( $arr )

for ( $i = 0$i <$count / $num$i ++ ) {$return_arr[$i] = array_slice ( $arr, $num * $i, $num }

4、利用:$sliceArr = arr_oper( $arr, 1000 )的公式:

$sliceArr[0],$sliceArr[1]......

这个根据你的要求弄就行,因为方法只能返回一个数组,所以我把拆分之后的几个子数组合成了一个数组一起return了。

这个方法会比较灵活,比如我把3000个元素的数组,500个一个拆分,就会返回一个有6个子数组的数组。 

下图是程序运行的示例:

下面是实现的代码,您可以参考一下:

#include <stdio.h>

#define SIZE 8

 

void bubble_sort(int a[], int n)

 

void bubble_sort(int a[], int n)

{

    int i, j, temp

    for (j=0 j<n-1 j++)

        for (i=0 i<n-1-j i++)

        {

            if(a[i] > a[i+1])

            {

                temp = a[i]

                a[i] = a[i+1]

                a[i+1] = temp

            }

        }

}

 

int main()

{

    int s[SIZE]

    int i

printf("Pls input number:\n")

for (i= 0 i<SIZE i++)

scanf("%d", &s[i])

    bubble_sort(s, SIZE)

printf("sort after:\n")

    for (i=0 i<SIZE i++)

        printf("%d ", s[i])

    printf("\n")

printf("max is %d\n", s[0])

printf("min is %d\n", s[SIZE-1])

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7932341.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存