数组,学会简单应用难!

来源:互联网 发布:网络禁书 编辑:程序博客网 时间:2024/05/25 16:38

老师真心坑,明明说循环才是难点,这会儿跳出来个赶脚更难得!

数组,一个神奇的东西,让我们来看看他的特性

1.是用于批量处理数据的集合的一种

2.特征+缺陷共存a.只放在连续的内存空间

                          b.只能存放同一数据类型

                          c.空间大小一旦声明便不可更改

3.分为一维数组和二维数组傻傻昏不清楚。

说多了都是泪,看看题


-------------------------------------------------春割-------------------------------------------


/*
3、在一个长度为10的整形数组中,已经放置好了任意10个整数。要求用户任意输入
一个整数,判断该数字是否在数组中。如果在,删除数组中该元素,并把后面的
元素往前挪。(让空出的位置在最后)
*/


#include<stdio.h>
void main()
{
int i,j,t=0,num,a[10]={4,8,28,548,389,294,2,19,203,49};
printf("年轻的勇士哟,我这里有10个整数,请任意再输入一个整数:");
scanf("%d",&num);
for(i=0;i<10;i++)
{
if(num==a[i])
{
t=a[i];
a[i]=a[i+1];               /*当输入的数字匹配到数列中的数时,替换掉该数,并让之后以为的数字前移*/
for(j=i+1;j<9;j++)         /*在已经前移一位的基础上,从下一位开始循环后移*/
{
t=a[j];
a[j]=a[j+1];
}
a[9]=0;                    /*a[9]移动到a[8]后,用0空出原a[9]*/
 
}
}
for(i=0;i<10;i++)
{
printf("%d\n",a[i]);
}
}




/*
用户任意输入一个3*3矩阵,要求打印出左右对角线之和。
*/ 
#include<stdio.h>
void main()
{
int i,j,a[3][3];
for(i=0;i<3;i++) 
for(j=0;j<3;j++)                                  /*选择按行列逐次由左到右赋值*/ 
{
printf("请在一个3*3矩阵中由左到右逐次输入数字:");
scanf("%d",&a[i][j]);
}

printf("该矩形左右对角线之和为:%d\n",a[0][0]+a[0][2]+a[1][1]+a[2][0]+a[2][2]);  /*取坐标处数字运算得结果*/
}



不难看出一维数字像序列二维数字像矩阵,而且赋值的方式含义不同,需要特别注意,另外就是引用时下标如果乱搞C语言是不会报错的,但是其实你已经错了!

明天需要恶补一下啊,很困难的说!

0 0