首页 > 其他 > 详细

实验4

时间:2019-04-25 21:24:50      阅读:58      评论:0      收藏:0      [点我收藏+]

part 1:数组数据结构

#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;
}

技术分享图片

数据元素顺序存放,每个存储结点只含一个元素。

part 2:一维数组的定义、初始化以及数组元素的引用方法

定义方式:类型说明符 数组名[元素个数]

初始化:声明简单变量时可初始化,定义数组时直接初始化。初始化元素个数小于数组长度,其余元素初始化为0,初始化值超过数组元素个数会产生数组定义的错误。

引用:将数组元素作为函数的参数使用,或数组参数。

 

#include <stdio.h>
int main() {
int a[] = {1, 9, 8, 6, 0}; 
int i,n;
n = sizeof(a) / sizeof(a[0]);
for(i=0; i<n; i++)
printf("a[%d] = %d\n", i, a[i]);
return 0;
}

 

技术分享图片

part 3 : 数组作为函数参数

#include <stdio.h>
const int N=5;
int main() {
int score[N] = {99, 82, 88, 97, 85};// 定义数组score,包含5个int元素,并初始化
int i;
// 输出数组元素
for(i=0; i<N; i++)
printf("%d ",score[i]); // 数组元素score[i]作为实参
return 0;
}

技术分享图片

第二个程序中printf()函数是自定义,可用于输出整形数据。

Part4: 用冒泡法对一组数据由小到大排序

冒泡法:比较相邻的元素。如果第一个比第二个大,就交换这两个元素。重复比较元素列,直到没有一对元素需要比较为止。

中心思想是比较和交换。冒泡排序最多执行n-1趟,n为待排序元素个数。一般可以用两层循环来实现,一个有序的序列直到边界条件,检测比较有有无交换,若无,则退出循环。

Part5: 编程练习

#include <stdio.h>
int findMax(int a[], int n); // 函数声明
const int N=5;
int main() {
    int a[N];
    int max, i;
    
    printf("输入%d个整数: \n", N);
        
    for(i=0;i<=N-1;i++)// 利用循环输入N个整数给数组a 
    scanf("%d",&a[i]);    // 补足程序1 
    // 。。。 
            
    findMax(a,N);// 调用子函数max求数组a的最大元素值,并赋值给max 
    max=a[0];// 补足程序2 
    // 。。。 
        
    // 输出最大值
    printf("数组a中最大元素值为: %d\n\n", max); 
        
    return 0;
} 

int findMax(int a[],int n){
    int h,j,k;
    for(h=0;h<N-1;h++){
        for(j=0;j<N-h-1;j++){
            if(a[j]<a[j+1]){
                k=a[j+1];
                a[j+1]=a[j];
                a[j]=k;
            }
        }
    }
}
// 函数定义
// 功能描述:找出整型数组a中元素的最大值,并返回次此最大值
// 补足函数findMax()的实现部分3 
// 。。。

技术分享图片

#include <stdio.h>
const int N=4;
void output(char x[], int n); 
void bubbleSort(char x[], int n);
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;
    char t;
    for(i=0;i<n-1;i++){
        for(j=0;j<n-i-1;j++){
            if(x[j]<x[j+1]){
                t=x[j];
                x[j]=x[j+1];
                x[j+1]=t;
            }
        }
    }
}

技术分享图片

 

实验4

原文:https://www.cnblogs.com/lxx13/p/10771008.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!