栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

数组学习自我小总结

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数组学习自我小总结

数组总结及练习案例
  • 一维数组
    • 二维数组
      • 自我总结

小总结:
1.数组名是一种地址常量,存放数组内存空间的首地址
2.数组元素的引用要指定下标
数组名 【下标】
3.一维数组初始化
类型名 数组名 【数组长度】= {出值表}
eg.int a [3] = {1,2,3};
规定:c语言只有静态存储数组才能初始化,但c编译系统都被允许赋初值
,静态储存的数组没有初始化直接赋值零
如果只对部分元素初始化,数组长度是不能省略的
4.斐波那数列
f [0] = f [1] =1
f [n] =f [n-1] =f [n-2]
5.注意:
<1>for () 后面没有;
<2> define SIZE 5 -----5指输入个数
6. 投票情况统计重点:count [response] ++;
7. 二维数组找出最大小值及行列下标:
先输入数:
printf ("");
for()
for()
scanf ("%d", &a[][])
按矩阵形式输出:
for () {
for ()
printf ("%4d", a[i][j]);
printf ("n");
}
找最值以最大值为例:
先假设a[0][0]最大
如果a[i][j]比假设值大
再假设a [i][j]是新的最大值row=i;col=j;
8.转置行列互换
temp=a[i][j];
a [i][j] =a [j][i];
a[i][j] =temp;
9.闰年:能被4整除但不能被100整除或者能被400整除
闰年二月29天平年二月28天
10.回文就是字符串中心对称
eg:abcba abccba
11.结束符’n’
12.
printf("%pn", &a[0]);
printf("%pn", &a[1]) ;这两行代码:能实现储存方式

一维数组

数组的定义和使用

//数组的定义和使用

 

//数据类型 数组名【元素个数】={值1,值2}
 

#include 
#include 
#include 
#include 
#include 

int main()
{
 //1.输出指定位置元素 
 int a[3]={1,2,3};//定义数组 下标为个数
 printf("%dn", a[0]);//下标从零开始  下标表示其中一个元素
 //2.数组元素进行计算
 a[0]=a[2];
 a[1]=a[0]*2;
 
 for (int i=0;i<3;i++)
 {
  printf("%dn",a[i]);
 }
 //0k了 
 //3.数组在内存中储存方式和大小
 printf("%pn", &a[0]);
 printf("%pn", &a[1]) ;
 return 0; 
}




小猪称重

//小猪称重 
#include 
#include 
#include 
#include 
#include 

#define SIZE 5

int main()
{
	int a[SIZE];
	for (int i=0;imax)
		{
			max=a[i];
			
		}
		
	}
	printf("最重小猪体重为:%dn", max);
	
	return 0; 
}

//错误注意事项:
//1.for() 后面没有;
// 2.printf在for{}外面 
//3.define SIZE 5指输入五个数(之前错误写100却运行没有输入100个数) 



输出斐波那契数列

//输出斐波那契数列
#include  
int main (void)
{
	int i;
	int fib [10] = {1,1};
	for (i=2;i<10;i++)
	   fib [i] =fib [i-1] +fib [i-2];
	for (i=0;i<10;i++){
		printf ("%6d",fib [i]);
		if ((i+1)%5==0)
		   printf ("/n");
	}
	return 0;
}


输出所有大于平均值的数

#include 
int main (void)
{
	int i;
	double average,sum;
	int a [10];
	
	printf ("Enter 10 integers:");
	sum=0;
	for (i=0;i<10;i++){
		scanf("%d", &a[i]);
		sum=sum+a[i];
	}
	average=sum/10;
	printf("averge=% .2fn", average);
	printf(">average:");
	for (i=0;i<10;i++){
		if(a[i]>average)
		printf("%d",a[i]);
	}
	printf ("n");
	
	return 0;
	
 } 



输入一个以回车符为结束标志字符串

#include 
int main (void)
{
	int i,number;
	char str [10];
	
	//输入字符串
	printf ("Enter a string:");
	i=0;
	while ((str [i] =getchar ())!='n')
	i++;
	str [i] ='';
	
	//判断是否为数字字符并进行转换
	number=0;
	for (i=0;str [i]!='';i++)
	if (str [i]>='0'&&str [i]<='9')
	number=number*10+str [i]-'0';
	
	printf ("digit=%dn",number);
	
	return 0; 
 } 


统计字符串中数学字符的个数

//统计字符串中数学字符的个数
#include 
int main (void)
{
	int count,i;
	char str [80]="apple12345";
	
	//输入字符串
	 printf ("Enter a string:");
	 i=0;
	 while ((str [i] =getchar())!= 'n')
	 i++;
	 str [i]='';//将''存入数组 
	 
	 //统计字符串中数字字符个数
	 count =0;
	 for (i=0;str [i]!='';i++) //循环条件:str [i]不等于''
	 if (str [i] <='9'&&str [i] >='0')
	 count++;
	 printf ("count=%dn", count);
	 
	 return 0; 
} 


选择法排序

//选择法排序
#include 
int main(void)
{
	int i,index,k,n,temp;
	int a [10];
	printf("Enter n:");
	scanf("%d", &n);
	printf("Enter %d integers:",n);
	for(i=0;i 


在数组中查找一个给定的数

//在数组中查找一个给定的数
#include 
int main (void)
{
	int i,flag,x;
	int a[5];
	printf("Enter 5 integers:");
	for(i=0;i<5;i++)
	scanf("%d", &a[i]);
	printf("Enter x:");
	scanf ("%d", &x);
	flag=0;
	for(i=0;i<5;i++)
	if (a[i] ==x){
		printf ("Index is %dn", i);
		flag=1;
		break;
	}
	if(flag==0)
	  printf ("Not Foundn");
	  
	  return 0;
	
 } 


找出数组的最小值和它所对应的下标

//找出数组的最小值和它所对应的下标
#include 
int main(void)
{
	int i,index,n;
	int a [10];
	
	printf ("Enter n:");
	scanf ("%d", &n);
	
	printf ("Enter %d integers:",n);
	for (i=0;i 

二维数组

方阵转置

//方阵转置
#include 
int main(void)
{
	int i,j,n,temp;
	int a[6][6];
	
	//给二维数组赋值
	printf ("Enter n:");
	scanf ("%d", &n);
	for (i=0;i 



计算某个日期对应该年的第几天

// 计算某个日期对应该年的第几天
#include 
#include 

int day_of_year (int year,int month,int day)  //主函数调用day_of_year()函数 
{
	int k,leap;
	int tab[2][13] = {   //初始化,天数赋值给数组
	{0,31,28,31,30,31,30,31,31,30,31,30,31 },
	{0,31,29,31,30,31,30,31,31,30,31,30,31  }
	};
	//判断闰年,为闰年leap=1;非则leap=0
	//闰年:能被4整除不能被100整除或能被400整除
	leap=(year %4==0 &&year%100!=0 ||year%400==0);
	
	//计算
	for (k=1;k 


找出矩阵中的最大值及其行下标和列下标

//找出矩阵中的最大值及其行下标和列下标
#include 
int main(void)
{
	int col,i,j,row;//row column分别代表这个元素的行和列 max 代表这个元素的值
	int a[3][2];//[3]行 [2]列 
	
	//将输入的数存入二维数组
	printf ("Enter 6 integers:n");
	for (i=0;i<3;i++)
	for (j=0;j<2;j++)
	scanf ("%d", &a[i][j]);
	
	//按矩阵的形式输出二维数组a
	for(i=0;i<3;i++){
	for (j=0;j<2;j++)
	printf ("%d", a[i][j]);
	printf ("n");
    }
    
    //找出最大值a[col][row]
	 row=col=0;
	 for(i=0;i<3;i++)
	 for(j=0;j<2;j++)
	 if(a[i][j]>a[row][col]){
	 row=i;
	 col=j;
	 }
	 printf("max=a[%d][%d]=%dn",row,col,a[row][col]);
	 
	 return 0;
 } 


自我总结

时间不够了,还得继续加油,欠下了好多知识,现在不学习等着什么时候后悔!!!再难也得坚持再不会也得学完再慢也得学懂。

小总结:
1.数组名是一种地址常量,存放数组内存空间的首地址
2.数组元素的引用要指定下标
数组名 【下标】
3.一维数组初始化
类型名 数组名 【数组长度】= {出值表}
eg.int a [3] = {1,2,3};
规定:c语言只有静态存储数组才能初始化,但c编译系统都被允许赋初值
,静态储存的数组没有初始化直接赋值零
如果只对部分元素初始化,数组长度是不能省略的
4.斐波那数列
f [0] = f [1] =1
f [n] =f [n-1] =f [n-2]
5.注意:
<1>for () 后面没有;
<2> define SIZE 5 -----5指输入个数
6. 投票情况统计重点:count [response] ++;
7. 二维数组找出最大小值及行列下标:
先输入数:
printf ("");
for()
for()
scanf ("%d", &a[][])
按矩阵形式输出:
for () {
for ()
printf ("%4d", a[i][j]);
printf ("n");
}
找最值以最大值为例:
先假设a[0][0]最大
如果a[i][j]比假设值大
再假设a [i][j]是新的最大值row=i;col=j;
8.转置行列互换
temp=a[i][j];
a [i][j] =a [j][i];
a[i][j] =temp;
9.闰年:能被4整除但不能被100整除或者能被400整除
闰年二月29天平年二月28天
10.回文就是字符串中心对称
eg:abcba abccba
11.结束符’n’
12.
printf("%pn", &a[0]);
printf("%pn", &a[1]) ;这两行代码:能实现储存方式

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/510644.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号