实验六数组

/*输入n个整数,将它们存入数组a中。输出最大值和它所对应的下标。*/
#include<stdio.h>
int main()
{
	int i,index,n;
	int a[10];/*定义一个数组*/
	printf("请输入n:");
	scanf("%d",&n);
	printf("请输入n个数\n");

	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
		index=9;
		for(i=1;i<n;i++)
			if(a[i]>a[index])/*比较出最大值*/
				index=i;
			printf("最大值是%d\t下标是%d\n",a[index],index);
		

			return 0;
}
	

 

 

//输入n个整数,存入数组a中,分别按正序和逆序输出这些数;
#include<stdio.h>
int main()
{
	int i,n;
	int a[10];
	printf("enter n:");//输入n
	scanf("%d",&n);
	printf("enter %d integers:\n",n);
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	printf("正序排列一维数组:\n");

	for(i=0;i<n;i++)
		printf("数组元素 %d\ 数组值 %d\n",i,a[i]);



	printf("逆序排列一维数组:\n");
	for(i=n-1;i>=0;i--)
		printf("数组元素 %d\ 数组值 %d\n",i,a[i]);

	return 0;
}

  

//定义一维数组arr,他有5个双精度浮点型元素,任意输入5个后,用冒泡排序法,由大到小排序并输出:
#include<stdio.h>
int main()
{
	int i,j;
	double x;
	double arr[5];
	
	printf("请输入五个数:\n");
	for(i=0;i<5;i++)
		scanf("%lf",&arr[i]);

	for(i=0;i<5;i++){
		for(j=0;j<5-i;j++){
			if(arr[j]<arr[j+1]){
				x=arr[j];
				arr[j]=arr[j+1];
				arr[j+1]=x;
			}
		}
	}
	for(i=0;i<5;i++)
		printf("%lf\n",arr[i]);

	return 0;
}

  

//设计一个程序,利用二维数组输出3x2矩阵
#include<stdio.h>
int main()
{
	int i,j;
	int a[3][2];
	//给二维数组赋值
	for(i=0;i<3;i++)
		for(j=0;j<2;j++)
			a[i][j]=i+j;

		//按矩阵的形式输出a
		for(i=0;i<3;i++){
			for(j=0;j<2;j++)
				printf("%4d",a[i][j]);
			printf("\n");
		}

			return 0;
}

  

//定义一个3×3的整形二维数组arr,为数组各元素赋值,找出最小值以及它的行下标和列下标,并输出该矩阵
#include<stdio.h>
int main()
{
	int i,j;
	double x,y;
	int arr[3][3];

	
	//输入各元素
	for(i=0;i<3;i++){
		for(j=0;j<3;j++){
			printf("输入数组arr各元素值:\n);
			scanf("%d",&arr[i][j]);
		}
	}
	x=y=0;

	//按矩阵形式输出找出最小值
	for(i=0;i<3;i++){
		for(j=0;j<3;j++){
	
			if(arr[i][j]<arr[x][y]){
				x=i;
				y=j;
			}
		}
	}

	for(i=0;i<3;i++){
		for(j=0;j<3;j++){
			printf("%4d",arr[i][j]);
		}
		printf("\n");
	}
	printf("最小值是第%d行第%d列是%4d\n",x,y,a[x][y]);


	return 0;
}

  

posted @ 2013-10-30 22:35  刘丽娜123456  阅读(171)  评论(0编辑  收藏  举报