Test-03

来源:互联网 发布:淘宝壹心表行全是好评 编辑:程序博客网 时间:2024/05/14 19:03
//
//  main.c
//  Test-03
//
//  Created by 刘佳斌 on 15/11/8.
//  Copyright © 2015年 刘佳斌. All rights reserved.
//

#include <stdio.h>
#include <string.h>


int main(int argc, const char * argv[]) {
#pragma mark    --有五个名字的字符串数组,按照英文字母的大小,进行升序排序。
    /*
    
    char str[5][10]={"zhao","qian","sun","li","wu"};
    for (int i=0; i<5; i++) {
        for (int j=0; j<5; j++) {
            if(strcmp(str[j],str[j+1])>0){
                char temp[10]={0};
                strcpy(temp, str[j]);
                strcpy(str[j], str[j+1]);
                strcpy( str[j+1], temp);
            }
        }
    }
    
    for (int x=0; x<5; x++) {
        printf("%s\n",str[x]);
    }
   
     */
    
    
#pragma mark  --调用函数--
    /*
    int a,b,c;

    void fun1(int a,int b,int c);
    int fun2(int a,int b,int c);
    int fun3(int a,int b,int c);
    
    printf("请输入三个数:\n");
    scanf("%d,%d,%d",&a,&b,&c);
    
    fun1(a,b,c);
    printf("x=%d,y=%d,z=%d\n",a,b,c);
    
    int sum=fun2(a,b,c);
    printf("三个数的和为:%d\n",sum);
    
    int max=fun3(a,b,c);
    printf("三个数的最大值为:%d\n",max);
   */
    
#pragma mark   --输入几个数,冒泡排序-  ❌  警惕  数组越界
    int times;
    printf("请输入要排序的个数\n");
    scanf("%d",&times);
    int num[times];
    int temp=0;
 
    printf("请输入要排序的数字:\n");
    for(int i=0;i<times;i++)
    {
        scanf("%d",&num[i]);

        printf("第%d个数字为%d\n",i+1,num[i]);
    }
    for (int x=0; x<times-1; x++) {         //  次数x值或者y值不可以为times,因为当x,y取到最大值的时候,
        for (int y=0; y<times-1; y++) {     //  下边会执行y值与y+1的值进行比较,而y+1的值超过了数组的范围,造成越界
            if (num[y]<num[y+1]) {
                temp=num[y];
                num[y]=num[y+1];
                num[y+1]=temp;
                
            }
        }

    }
    
    printf("排序后 %d %d \n",num[0],num[1]);
    
    
    for (int j=0; j<times; j++) {
        
        
        printf("冒泡顺序第%d数为%d\n",j+1,num[j]);
    }
   
    

   
    
//    int score[]={};
//    int i=0;
//    int sum=0;
//    printf("请输入小组成员的成绩:(0为停止输入)\n");
//    for (i=0; i<100; i++) {
//        
//        scanf("%d",&score[i]);
//        if(score[i]==0){
//            printf("输入完毕\n");
//            break;
//        }
//        printf("成员成绩为:%d\n",score[i]);
//    }
//    
//    for (int j=0; j<i; j++) {
//        sum=sum+score[j];
//        
//    }
//    printf("总和为:%d\n",sum);
//    printf("平均成绩为:%d\n",sum/i);
//
    
    
    
    
    
    return 0;
}
/*
void fun1(int x,int y,int z)
{
    x=x*x;
    y=y*y;
    z=z*z;
    printf("x=%d,y=%d,z=%d\n",x,y,z);
}

int fun2(int x,int y,int z)
{
    return (x+y+z);
}

int fun3(int x,int y,int z)
{
    if (x<y) {x=y;}
    if (x<z){
        x=z;
    }
        return (x);
}
*/

0 0