数组(一维数组数组 )

数组:具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组。

一维数组
定义的时候,需要数据类型、能够存放元素的数量
int[] n = new int[5];
按照顺序:索引 从0开始(搜索字符总比实际长度少1)
n[0] = 3;
n[1] = 3;
n[2] = 3;
n[3] = 3;
n[4] = 3;
n[5] = 3;错误,索引号超出界限(因为之际为5 ,搜索长度只能到4)

数组就是一个比较整体的概念。把类别区分开,然后引入变量表示顺序。利用冒泡循环来的到结果

例一,请输入每个班的人数和年龄。按照从大到小的顺序排列起来。

例二。 请输入一个四位数的验证码,判断是否正确。

例三。。。从50以内抽取10个随机数,不能重复

例四 。。。请输入班级人数还有每个人成绩,算出总分,最高分最低分和平均分,还有去掉两个最高分和两个最低分的平均分

//Console.WriteLine("请输入班级人数:");
            //int a = int.Parse(Console.ReadLine());

//double[] b = new double[a];

//for (int i = 0; i < a ; i++)
            //{
            //    Console.WriteLine("请输入第" + (i + 1) + "个学生分数:");

//     b[i]= double.Parse(Console.ReadLine());
            //}
            //for (int i = 0; i < a - 1; i++)
            //{
            //    for (int c = i + 1; c < a; c++)
            //    {
            //        if (b[i] < b[c])
            //        {
            //            double zhong = b[i];
            //            b[i] = b[c];
            //            b[c] = zhong;

//        }
            //    }
            //}

//Console.WriteLine("输入完毕,请按回车继续");
            //Console.Clear();
            //Console.WriteLine("最高分是:" + b[0]);
            //Console.WriteLine("最低分是:" + b[a - 1]);

//double s = 0;
            //for (int i = 0; i < a; i++)
            //{
            //    s += b[i];
            //}
            //double s1=0;
            //for (int i = 2; i < a - 2; i++)
            //{
            //    s1 = b[i];
            //}

//Console.WriteLine("平均分是" + (s / a));
            //Console.WriteLine("去掉两个最高分和两个最低分的平均数是;" + s1 / (a - 4));   
            //Console.ReadLine();

例五。。彩票号码。前六个红色球为1到33 的随机数。最后一个篮球为1到16 的随机数

//Random ran = new Random();
            //int[] a = new int[6];
            //for (int i = 0; i < 6; i++)
            //{
            //    a[i] = ran.Next(1, 34);
            //    for (int j = 0; j < i; j++)
            //    {
            //        if (a[i] == a[j])
            //        {
            //            a[i] = ran.Next(1, 34);
            //            j--;
            //        }
            //    }
            //    Console.WriteLine("普通号码为;" + a[i]);
            //}

例六。。。请输入班级所有人数,然后输入每个人的名字和成绩,输出最高分的人对应额成绩。

//Random ran = new Random();
            //int[] a = new int[6];
            //for (int i = 0; i < 6; i++)
            //{
            //    a[i] = ran.Next(1, 34);
            //    for (int j = 0; j < i; j++)
            //    {
            //        if (a[i] == a[j])
            //        {
            //            a[i] = ran.Next(1, 34);
            //            j--;
            //        }
            //    }
            //    Console.WriteLine("普通号码为;" + a[i]);
            //}

时间: 2024-11-05 16:44:56

数组(一维数组数组 )的相关文章

软件工程课堂练习:返回一个一维整数数组中最大子数组的和

题目:返回一个一维整数数组中最大子数组的和.要求:输入一个一维整形数组,数组里有正数也有负数.一维数组首尾相接,象个一条首尾相接带子一样.数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和.求所有子数组的和的最大值. 此次何琳琳负责程序分析,代码编程,张一博负责代码复审和代码测试计划. 经分析讨论设计思路如下: 1.定义一个长为20的数组,先对前10个数进行初始化,后10个数等于前10个数: 2.设置长度为10的循环依次以前十个数为头进行最大子数组的计算: 3,再设置一个数组用来存储

求一维循环数组最大子数组的和

结对成员:信1201-1班 于海洋   袁佩佩 一.题目与要求 题目:返回一个整数数组中最大子数组的和. 要求: 输入一个整形数组,数组里有正数也有负数. 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和.如果数组A[0]……A[j-1]首尾相邻,允许A[i-1], …… A[n-1], A[0]……A[j-1]之和最大. 同时返回最大子数组的位置. 二.设计思路 利用之前的返回一个整数数组最大子数组的和程序的思路,不过这里将数放到一个链表里,首尾相连,来求最大子数组的和. 三.源

c++ 依据输入动态声明数组(一维,二维)

较早的编译器是不同意这样做的,所以一些书籍比方以Tc解说的书本都说数组的下标不能是变量.在vc6.0下亦是如此. 只是在一些较新的编译器如dev c++已经支持了,例如以下代码不会报错 #include <stdio.h> #include <stdlib.h> int main() { int a; int i; scanf("%d",&a); int c[a]; for( i =0 ;i<a;i++) scanf("%d",

题目:返回一个一维循环数组中最大子数组的和

#include <iostream> #include <ctime> #define N 10 using namespace std; int maxxunhuan(int array[N] , int n){ int i,j = 0,m,c = 0; int sum = array[0],b = 0,max = 0; for(j = 0;j < n;j++){ b = 0; for(i = j;i < n;i++){ if(i < n-1){ if(b &

结对开发——一维数组最大子数组判断溢出

一 题目 求一维数组最大子数组和 要求:1000个数以上,整数 二.设计思路 最大子数组很好找到,但是子数组和的溢出问题很难解决. 经过不断的思考,我得出了结论: 溢出是程程序设计者设计时的不足所带来的错误.所以设计者要在编码时便高度警惕,预防溢出的发生,这才是最本质的解决问题的方法.就本题而言,我们设置了元素最大个数,以及其它输入要求,尽量避免溢出的发生.1000个数相加可以实现,但非要取1000个最大的数相加,那样的计算没有意义,不会在我们的生活学习中出现,这属于科研问题,交给大神们来解决吧

输入5个学生的名字(英文),使用冒泡排序按从大到小排序。 提示:涉及到字符串数组,一个字符串是一个一维字符数组;一个 字符串数组就是一个二维字符数组。

#include <stdio.h>#include <string.h> /*输入5个学生的名字(英文),使用冒泡排序按从大到小排序.提示:涉及到字符串数组,一个字符串是一个一维字符数组:一个字符串数组就是一个二维字符数组.*/ void main(){ char stuNames[5][100]; char tmp[100]; int i = 0,j = 0; for(i = 0; i < 5; i++) { printf("请输入第%d个学生的名字:"

一维数组,二维数组,三维数组,数组与指针,结构体数组,通过改变指针类型改变访问数组的方式

 打印数组中的每个元素,打印每个元素的地址: #include <stdio.h> #include <stdlib.h> void main(void) { int a[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; for (int *p = a; p < a + 10;p++)  //指针类型决定4个字节 { printf("\n%p,%d", p, *p); } getchar(); } 指针数组 #inclu

《团队项目开发之三对一维环形数组的求解》

设计思想:通过把数组的长度扩大为原来的一倍,相当于新数组是由对原来的数组重复了一遍后而组成的,这样保证了数组以环状的形式,按照数组中每个数字的位序依次对它们可能形成的最大子数组依次进行比较,这样保证了能够始终记录每次最大子数组的位置,以便随着程序的进行不断更新直至得到最终的最大子数组之和以及最大子数组的下标. 源代码: //求一个一维环形数组的最大子数组之和,并要求返回组成最大子数组的下标 //李敏,Apr 12th #include<iostream> #include <time.h

结对开发_求一维数组最大子数组和判断溢出

题目 求一维数组最大子数组和 要求:1000个数以上,整数 二.设计思路 最大子数组很好找到,但是子数组和的溢出问题很难解决. 经过不断的思考,我得出了结论: 溢出是程程序设计者设计时的不足所带来的错误.所以设计者要在编码时便高度警惕,预防溢出的发生,这才是最本质的解决问题的方法.就本题而言,我们设置了元素最大个数,以及其它输入要求,尽量避免溢出的发生.1000个数相加可以实现,但非要取1000个最大的数相加,那样的计算没有意义,不会在我们的生活学习中出现,这属于科研问题,交给大神们来解决吧.

一维动态数组和二维动态数组的创建和使用

#include<stdio.h> #include<malloc.h> void main(){ int *a,n=10,i; /* calloc()函数的原型是:(void *)calloc(unsigned n,unsigned size) calloc()函数用于向系统动态申请n个,每个占sizege字节的内存单元,函数返回值为所申请的内存空间首地址 malloc和calloc主要区别在于,当系统的内存只剩下一些非常小的碎片时,用calloc函数设计的动态数组的时间效率优于