精华内容
下载资源
问答
  • 结构体数组进行冒泡排序

    对结构体数组进行冒泡排序(根据名字大小)

    typedef struct avperson{
        char name[30];
        int age;
        char bust;
        char product[50];
    }AVPerson;
    
    AVPerson per1 = {"cangJingKong", 25, 'D', "secondDream"};
        
        AVPerson per2 = {"longZeLuoLa", 22, 'C', "daMingGong"};
        
        AVPerson per3 = {"buoDuoYeJieYi", 27, 'D', "jiaYouXianQi"};
        
        AVPerson per4 = {"jiZeMingBu", 24, 'E', "yiLuXingXi"};
        
        AVPerson arr[4] = {per1, per2, per3, per4};
        
        //打印出每一个元素的信息
        for (int i = 0; i < 4; i++) {
            
            printf("%13s -- %d -- %c -- %s\n", arr[i].name, arr[i].age, arr[i].bust, arr[i].product);
            
        }
        
        printf("------------------------------------------\n");
        
        for (int i = 0; i < 4 - 1; i++) {
            
            for (int j = 0; j < 4 - 1 - i; j++) {
                
                if (strcmp(arr[j].name, arr[j+1].name) < 0) {
                    
                    AVPerson temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
        }
        
        printf("按名字大小比较排序后:\n");
        
        for (int i = 0; i < 4; i++) {
            
            printf("%13s -- %d -- %c -- %s\n", arr[i].name, arr[i].age, arr[i].bust, arr[i].product);
        }


    需要注意的问题:

    1. 结构体数组的定义:本题中的定义格式为 AVPerson arr[4] ={per1, per2, per3, per4
      };  其中结构体数组的类型和每个结构体的类型一样,都是AVPerson
    2. 冒泡排序的关键代码中,比较的是名字的字符大小,交换的是av女优在数组的位置,所以定义一个同样数据类型的结构体数组AVPerson temp = {0}来接收交换值.

    控制台运行示例:



    展开全文
  • /******将结构体数组元素按年龄排序***********/ /*******************************************/ #include<iostream> using namespace std; #include<string> struct hero { string name; int age; ...
    /*******************************************/
    /******将结构体数组元素按年龄排序***********/
    /*******************************************/
    #include<iostream>
    using namespace std;
    #include<string>
    struct hero {
    	string name;
    	int age;
    	string sex;
    };
    void baboo_hero_age(struct hero* heroarray, int len)
    {
    	for (int i = 0; i < len - 1; i++)
    	{
    		for (int j = 0; j < len - i - 1; j++)
    		{
    			if (heroarray[j].age > heroarray[j + 1].age)
    			{
    				struct hero tmp = heroarray[j];
    				heroarray[j] = heroarray[j + 1];
    				heroarray[j + 1] = tmp;
    			}
    		}
    	}
    }
    
    void printHeroMessage(struct hero* heroarray, int len)
    {
    	for (int i = 0; i < len; i++)
    	{
    		cout << heroarray[i].name << "\t" << heroarray[i].age << "\t" << heroarray[i].sex << endl;
    	}
    }
    int main()
    {
    	struct hero heroArray[3] = {
    		{"关羽",22,"男"},
    		{"张飞",21,"男"},
    		{"刘备",23,"男"}
    	};
    	cout << "排序前:" << endl;
    	printHeroMessage(heroArray, sizeof(heroArray) / sizeof(heroArray[0]));
    	baboo_hero_age(heroArray,sizeof(heroArray)/sizeof(heroArray[0]));
    	cout << "排序后:" << endl;
    	printHeroMessage(heroArray, sizeof(heroArray) / sizeof(heroArray[0]));
    	system("pause");
    	return 0;
    }

     

    展开全文
  • //设计英雄结构体 struct Hero { string name; int age; string sex; }; //冒泡排序函数 void bubbleSort(struct Hero heroArray[],int len) { for (int i = 0; i < len-1; i++) { for (int j = 0; j
    #include <iostream>
    using namespace std;
    #include <string>
    
    //设计英雄结构体
    struct Hero
    {
    	string name;
    	int age;
    	string sex;
    };
    
    //冒泡排序函数
    void bubbleSort(struct Hero heroArray[],int len)
    {
    	for (int i = 0; i < len-1; i++)
    	{
    		for (int j = 0; j < len - i - 1; j++)
    		{
    			if (heroArray[j].age > heroArray[j + 1].age)
    			{
    				struct Hero herotemp = heroArray[j];
    				heroArray[j] = heroArray[j + 1];
    				heroArray[j + 1] = herotemp;
    			}
    		}
    
    	}
    
    
    }
    
    void printall(struct Hero heroArray[], int len)
    {
    	for (int i = 0; i < len; i++)
    	{
    		cout << "姓名是 " << heroArray[i].name 
    			<< "\t年龄是 " << heroArray[i].age 
    			<< "\t性别是 " << heroArray[i].sex << endl;
    	}
    }
    
    int main()
    {
    	//创建结构变量存放五个英雄
    	struct Hero heroArray[5] =
    	{
    		{"刘备",23,"男"},
    		{"张飞",28,"男"},
    		{"关羽",21,"男"},
    		{"貂蝉",19,"女"},
    		{"泽玉",88,"女"}
    	};
    
    	int len = sizeof(heroArray) / sizeof(heroArray[0]);//求出数组个数
    												   
    	//for (int i = 0; i < len; i++)
    	//{
    	//	cout << heroArray[i].name << heroArray[i].age << heroArray[i].sex << endl;
    	//}
    	
    	//对数组进行排序,按照年龄升序进行排序
    	bubbleSort(heroArray, len);
    
    	//打印排序结果
    	printall(heroArray, len);
    
    	system("pause");
    	return 0;
    }
    
    展开全文
  • // 定义结构体数组保存次数和对应的字符并初始化 struct test{ // 次数 int n; // 对应的字符 char c; } array [ 4 ] = {{a, 'A' }, {b, 'B' }, {c, 'C' }, {d, 'D' }}; // 定义临时数组 ...

    题目:从键盘输入一大堆字符串,统计A、B、C、D的出现次数,最后出现次数由高到低输出字母和出现次数。

    #include <stdio.h>
    #include <string.h>
    
    // 计算字符出现的次数
    int jiShu(char test[], char a)
    {
        // 统计字符数
        int n = 0;
        // 遍历字符串
        for (int i = 0; i<strlen(test); i++) {
            // 如果字符串中出现a,n加1
            if (test[i] == a) {
                n++;
            }
        }
        return n;
    
    }
    
    int main(int argc, const char * argv[]) {
        // 提示用户输入,并进行存储
        printf("请输入任意字符串:\n");
        char input[1000];
        scanf("%[^\n]", &input);
    
        // 字母A出现的次数
        int a = jiShu(input, 'A');
        // 字母B出现的次数
        int b = jiShu(input, 'B');
        // 字母C出现的次数
        int c = jiShu(input, 'C');
        // 字母D出现的次数
        int d = jiShu(input, 'D');
    
        // 定义结构体数组保存次数和对应的字符并初始化
        struct test{
            // 次数
            int n;
            // 对应的字符
            char c;
        } array[4] = {{a, 'A'}, {b, 'B'}, {c, 'C'}, {d, 'D'}};
    
        // 定义临时数组
        struct test temp;
        // 冒泡排序法
        for (int i = 0; i<3; i++) {
    
            for (int j = 0; j<3-i; j++) {
    
                if (array[j].n < array[j+1].n) {
    
                    temp = array[j];
                    array[j] = array[j+1];
                    array[j+1] = temp;
                }
            }
        }
        // 输出
        for (int i = 0; i<4; i++) {
            printf("%c出现了%d次\n", array[i].c, array[i].n);
        }
    
        return 0;
    }
    展开全文
  • 所谓结构体数组,是指数组中的每个元素都是一个结构体。在实际应用中,结构体数组常被用来表示一个拥有相同数据结构的群体,比如一个班的学生、一个车间的职工等。定义结构体数组和定义结构体变量的方式类似,请看...
  • 因为他是第一次链表,表述成了链表排序真好用,当时我说的是用结构体数组应该更好一些吧,数组的排序要比链表快吧(回头查了一下链表的插入排序与数组的冒泡排序或快速排序 的对比)。我却劝别人,但自己还没用...
  • 上机内容:C++程序的编写和运行 上机目的:掌握简单C++程序的编辑、编译、连接和运行的一般过程 我的程序:/* ...* All rights reserved....* 作 者:赵玲玲 * 完成日期:2014 年 4 月 3 日...* 问题描述: 有序的数组 * 程
  • 使用结构体数组排序

    千次阅读 2020-11-05 22:06:48
    案例描述:使用一个学生结构体,将班级中的学生按照成绩来使用冒泡排序排序输出 [ 分析:步骤 ] 1、创建一个学生结构体 struct Student //学生结构体 { int age; int score; string name; }; 2、创建一个学生...
  • 定义一个学生成绩的结构体数组,编写函数,根据学生成绩给出“优、良、中、及格”的评定“90-100”-优、“80-90”-良,“70-80”-中,“60-70”-及格。
  • 结构体数组的排序(学生成绩问题)

    千次阅读 多人点赞 2019-11-23 12:40:05
    分析:本题的突破点在冒泡法结构体数组排序,其实同整型数组排序一样。首先看普通的冒泡 排序: 代码如下: #include <stdio.h> #define N 5 struct Student{ char name[10]; long stuNo; ...
  • 结构体数组排序

    千次阅读 2012-06-07 23:47:18
    今天同学问我一道关于数组排序的...运用结构体数组!这让我想起以前《数据结构》的课程设计-《考试成绩统计》,而很巧的是那孩子的原始问题也就是这个同名课程设计; 好吧,让我再一次熟悉了C的:清屏、数组的运用、
  • 用结构体数组作计算

    2013-12-27 15:19:28
    (1)从文件中读出数据,存放到你定义的结构体数组中,即项目2(1); (2)求出每名同学的总分(可以在读入过程中“顺便”计算); (3)按总分排序(降序); (4)输出排序后的成绩单; (5)有30名同学可以获得...
  • (1)从文件中读出数据,存放到你定义的结构体数组中,即项目2(1); (2)求出每名同学的总分(可以在读入过程中“顺便”计算); (3)按总分排序(降序); (4)输出排序后的成绩单; (5)有30名同学可以...
  • //用冒泡排序排序(从大到小) for(i=0;i;i++) {//遍历sum_stu-1轮 for(j=0;j;j++) {//每过一轮,遍历的元素数目-1 if((p[j]->sum)<(p[j+1]->sum)) { temp=p[j+1];//交换两结构体在...
  • 单个的结构体类型变量在解决实际问题时作用不大,一般是以结构体类型数组的形式出现。结构体类型数组的定义形式为:struct stu / *定义学生结构体类型* /{char name[20]; / *学生姓名* /char sex; / *性别* /long ...
  • 导言:本文使用C语言构建图书结构体,并实现其创建、输出、新旧书入库出库、最贵图书查找、图书修改、排序、逆序存储以及数组图书去重等函数的实现。 一、图书结构体定义 为了方便数组操作的实现,初始化图书数组...
  • 学校编程题 问题描述 考研初试成绩公布后需要对m个学生的成绩进行排序,筛选出可以进入复试的前n名学生。排序规则为首先按照总分排序,总分相同则按英语单科成绩排序,...想用冒泡法排序 结构体用不了 有点meng'bi
  • 然后在主函数中定义一个结构体数组(长度不超过1000),并输入每个元素的值,程序使用冒泡排序将学生按照成绩从小到大的顺序排序,然后输出排序的结果。  输入格式:第一行是一个整数N(N<1000),表示元素个...
  • 上机内容:对结构体排序输出 /* * 程序的版权和版本声明部分 * Copyright (c)2013, 烟台大学计算机学院学生 * All rightsreserved. * 文件名称:text.cpp * 作者:刘玉金 * 完成日期: 2013年3月11日 ...
  • 结构体 结构体不能重写默认无参...一位数组 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace m1w2d3_struct_array ...
  • if(s[j].grade[j+1].grade)//冒泡法 { t=s[j]; s[j]=s[j+1]; s[j+1]=t; } } void sort2(Student s[],int n) { int i,j; Student t;//交换学生,而不只是交换学生的学号注意 for(i=0; i; i++) for(j=0; j; ...
  •  这两种排序的方法是一致的,通过冒泡法将最大的值移到尾部再次循环。 void pFunc_2(STUDENT * pStu, int n) //按照学号排序 { STUDENT *p; //链表长度 int temp; if (pStu->link == NULL) return;...
  • 有5名学生保存在结构体数组中,编程按学生的成绩升序排序,按学生的姓名降序排序,按年龄从低到高排序
  • (1)如果没有返回值类型,void代表无类型 (2)如果没有返回值,return;即可 代码: int add(int num1, int num2)//函数定义时候,num1和num2并没有真实数据,只是一个形式上的参数,简称形参 { int sum =...
  • linux
  • /*用结构体数组存放学生信息,采用冒泡法进行排序/ #include&amp;lt;stdio.h&amp;gt; struct student //声明结构体类型 { int num; char name[20]; float score; }; void sort(student *stu,int ...
  • 创建结构体数组,数组中存放5名英雄。 通过冒泡排序的算法,将数组中的英雄按照年龄进行升序排序,最终打印排序后的结果。 要求:采用指针形式和数组形式分别实现 直接上代码: #include<iostream> using ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,790
精华内容 1,516
关键字:

结构体数组用冒泡法