数组1

一维数组:数组名是一个指针常量,保存的是数组首元素的地址

对数组地址取值,等于数组首元素的地址

对数组名取地址,等于数组地址

二维数组名是第一个一维数组的地址

对二维数组名取地址是二维数组的地址

对二维数组名取值等于第一个一维数组的首元素的地址

对数组地址取值,

数组的特性:变量可控、连续存放、类型相同

数组可以是任意类型,格式智能用[]   不能用();不能用变量说明数组大小

C语言不允许对数组的大小进行动态说明

数组的说明语句必须在可执行语句之前

#include<stdio.h>   //输入五个数并且输出,计算所有数的和
int main()
{
	int i,m[5],sum=0;
	for(i=0;i<5;i++)
	{
		scanf("%d",&m[i]);
		sum +=m[i];
		printf("**%d\n",m[i]);
	}
	printf("%d\n",sum);
}

计算平均值,输出比平均值高的数

#include<stdio.h>
#define N 4
int main()
{
	int a[N],sum=0;
	float avg;
	for(int i=0;i<N;++i)
	{
		scanf("%d",&a[i]);
		sum+=a[i];
	}
	avg=1.0*sum/N;
	printf("avg=%f\n",avg);
	for(int j=0;j<N;j++)
	{
		if(a[j]>avg)
			printf("%d",a[j]);
	}
	return 0;
}
给定的数字,从小到大排序
#include<stdio.h>
#define N 10
int main()
{
	int s,a[10]={78,56,38,99,81,86,39,100,49,78};
	for(int i=0;i<9;i++)
	{
		s=i;
		for(int j=i+1;j<10;j++)
			if(a[s]>a[j])
				s=j;
		if(s!=i)
		{
			int tmp=a[s];
			a[s]=a[i];
			a[i]=tmp;
		}
	}
	for(int i=0;i<10;i++)
		printf("%d\n",a[i]);
}
break:在switch中结束case子句,跳出switch

             在循环中,结束当前循环过程,跳出当前循环指到下一条语句处

continue:只能在循环中使用

                 仅跳过当前这一次循环

                 对于for语句,将控制转到执行增量和条件测试部分

                 对于while和do-while语句,将控制转到条件测试部分

例:输入十个数,统计其中正数的个数及平均值

#include<stdio.h>
int main()
{
	int i,count=0,x,sum=0;
	for(i=1;i<=10;i++)
	{
		printf("输入10个数字:");
		scanf("%d",&x);
		if(x<=0)
			continue;
			count++;
			sum+=x;
	}
	if(count)
		printf("正整数个数:%d,平均数:%.2f",count,1.0*sum/count);
	else printf("正整数个数:0,平均数:0");	
}






猜你喜欢

转载自blog.csdn.net/lfr1095767459/article/details/78713792
今日推荐