实验4

Posted on 2019-04-25 21:55  ...sj  阅读(122)  评论(2)    收藏  举报

Part1:

#include <stdio.h> 
const int N=5;
int main()
{
    int a[N] = {1, 2, 3, 4, 5};
    int i;
    for(i=0; i<N; i++)
        printf("%d: %d\n", &a[i], a[i]);
    return 0;
} 

#include <stdio.h>
const int N=5; 
int main()
{
	char a[5] = {'h','e','l','l','o'};
	int i;
	for(i=0; i<N; i++)
		printf("%d: %c\n", &a[i], a[i]);
	return 0;
} 

  

#include <stdio.h>
const int N=5; 
int main()
{
	double a[5] = {1.0, 2.0, 3.0, 4.0, 5.0};
	int i;
	for(i=0; i<N; i++)
		printf("%d: %.2f\n", &a[i], a[i]); 
	return 0;
} 

由part1可知:类型相同的数据连续存放

Part 2:

一维数组的声明形式语法:数组元素的类型说明符  数组名称  [数组的大小]

要使用数组,必须事先声明,以便编译器为它们分配内存空间。

Part 3:

函数声明和函数定义中,函数名init后面括号里出现的是形式参数,数组名后面要加[ ];

函数调用中,函数名init后面括号里出现的是实际参数,直接写数组名。

Part 4:

(冒泡法)

#include <stdio.h>
const int N=5;
void bubbleSort(int [], int);
int main()
{
	int i,a[N];
	printf("请输入%d个整型数据: \n", N);
	for(i=0; i<N; i++)
	scanf("%d",&a[i]);
	printf("排序前的数据: \n");
	for(i=0; i<N; i++)
	    printf("%d ",a[i]);
	printf("\n");
	bubbleSort(a,N);
	printf("排序后的数据: \n");
	for(i=0; i<N; i++)
	    printf("%d ",a[i]);
	printf("\n");
	return 0; 
}
void bubbleSort( int x[], int n)
{    
    int i,j,t;
	for (i=0; i<n-1; i++) 
	{
	    for(j=0; j<n-1-i; j++)
		{            
		    if( x[j] > x[j+1] )
			{                
			    t = x[j];                 
				x[j] = x[j+1];                 
				x[j+1] = t;            
			}        
		}    
	} 
}

  

Part 5:

#include <stdio.h>
int findMax(int a[],int n);
const int N=5;
int main()
{
	int a[N];
	int max,i;
	for(i=1;i<=N;i++)
	{
	    printf("输入第%d个整数:",i);
		scanf("%d", &a[i]);
	}
	max = findMax(a,5);
	printf("数组a中最大元素值为: %d\n\n",max);
	return 0;
}
int findMax(int a[],int n)
{
	int max,i;
	n=1;
	max = a[1];
	for(n=1;n<=5;n++)
    {
		if(a[n]>max)
    	max=a[n];
	}
    return max;
}

  

#include <stdio.h> 
const int N=4; 
void output(char x[], int n); 
void bubbleSort(char [], int);
int main() 
{    
	char string[N] = {'2','0','1','9'}; 
    int i;        
	printf("排序前: \n");    
	output(string, N);
    bubbleSort(string,N);
    printf("\n排序后: \n");     
	output(string, N);        
	printf("\n");        
	return 0;   
}
void output(char x[], int n)
{    
    int i;        
	for(i=0; i<N; i++)        
	printf("%c", x[i]); 
}
void bubbleSort( char x[], int n) 
{    
    int i,j,t;        
	for (i=0; i<n-1; i++) 
	{         
	    for(j=0; j<n-1-i; j++)
		{            
		    if( x[j] < x[j+1] ) 
			{                
			    t = x[j];                 
				x[j] = x[j+1];                 
				x[j+1] = t;            
			}        
		}    
	} 
}

  

 

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3