实验4

#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;i++)
    scanf("%d",&a[i]);
    max=findMax(a,N);
    printf("数组a中最大元素值为: %d\n\n", max); 
    return 0;
} 
int findMax(int a[], int n)
{
    int num,m,i;
    num=sizeof(a)/sizeof(int);
    m=a[0];
    for(i=0;i<n;i++)
    {
      if(a[i]>m)
      m=a[i];
    }
    return m;
}

练习一运行结果

#include <stdio.h>
const int N=4;
void output(char x[], int n);    
void rank(char x[]) ;

int main() {
    char string[N] = {'2','0','1','9'};
    int i;    
    printf("排序前: \n");
    output(string, N);
    rank(string);
    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 rank(char x[])
{
    int num,i,j;
    char t;
    num=sizeof(x)/sizeof(char);
    for(j=0;j<num-1;j++)
       for(i=0;i<num-j-1;i++)
          if(x[i]<x[i+1])
          {
              t=x[i];
              x[i]=x[i+1];
              x[i+1]=t;
          }
}

练习二运行结果

part1~4

冒泡法重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。

实验总结与体会

没有清晰的逻辑容易碰壁,还要多练习

 

posted on 2019-04-25 21:54  weirdo12138  阅读(96)  评论(4编辑  收藏  举报

导航