栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言 结构体题目(能帮助大家清晰地掌握结构体的相关用法,简单易懂)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言 结构体题目(能帮助大家清晰地掌握结构体的相关用法,简单易懂)

题目1:

【问题描述】
有以下职工信息,使用结构体数组存储这些信息,从键盘输入5条记录,
之后在屏幕上依次输出职工信息。
struct stuff{
int stuffID;//职工编号
float bonus; //工资
};
【输入形式】5条职工信息,分行输入,数据间空格隔开
【输出形式】分行输出5条职工信息和最低工资,每行数据均使用1个空格分隔
【输入样例】
1001 8540.59
1002 6345.45
1003 3500.65
1004 4898.86
1005 5345.80
【输出样例】每行数据均使用一个空格分割,分五行输出
1001 8540.59
1002 6345.45
1003 3500.65
1004 4898.86
1005 5345.80
minBonus = 3500.65

代码入下:
#include 

struct stuff
{
    int stuffID;
    float bonus;
}a[5];

int main()
{
    int i;
    float min;
    for(i = 0; i < 5; i++)
    scanf("%d %f", &a[i].stuffID, &a[i].bonus);
    min = a[0].bonus;
    for(i = 1; i < 5; i++)
    {

        if(min >= a[i].bonus)
        min = a[i].bonus;
    }
    for(i = 0; i < 5; i++)
    printf("%d %.2fn", a[i].stuffID, a[i].bonus);

    printf("minBonus = %.2f", min);

}

题目2:

【问题描述】若有以下银行卡信息:
struct card{
    int id;//银行卡号
    int bonus; //金额
};
请编写程序,从键盘输入5条银行卡记录,使用结构体数组存
储这些数据,并按金额升序排序,输出排序后的结果。
【输入形式】5条银行卡记录分行输入,每行数据用空格间隔
【输出形式】分5行输出数据,每行数据均使用空格间隔
【输入样例】
1001  20
1002  80
1003  50
1004  10
1006  40
【输出样例】
1004  10
1001  20
1006  40
1003  50
1002  80

代码入下:
#include 
#include 

struct card
{
    int id;//银行卡号
    int bonus; //金额
}a[5],tamp;

int main()
{
    int i, j;
    for(i = 0; i < 5; i++)
        scanf("%d %d", &a[i].id, &a[i].bonus);
    for(i = 1; i < 5; i++)
    {
        for(j = 0; j < 5 - i; j++)
        {
            if(a[j].bonus > a[j+1].bonus)
            {
                tamp = a[j];
                a[j] = a[j+1];
                a[j+1] = tamp;
            }
        }
    }
    for(j = 0; j < 5; j++)
    {
        printf("%d %dn", a[j].id, a[j].bonus);
    }
}

题目3:

【问题描述】有以下学生信息,使用结构体数组存储这些信息

struct student{
int num;//学号
int computer; //计算机成绩
}s[5]={{101,75},{103,80},{104,85},{106,90}};

再输入一条新记录,插入到结构体数组中,让5条记录按计算机成绩升序有序。
【输入形式】2个数据都使用空格分隔
【输出形式】分五行输出数据,每行数据均使用空格分隔
【输入样例】102 88
【输出样例】每行数据均使用一个空格分隔,分五行输出
101 75
103 80
104 85
102 88
106 90

代码入下:
#include 
#include 


struct student
{
   int num;//学号
   int computer; //计算机成绩
}s[5]={{101,75},{103,80},{104,85},{106,90}},tamp;

int main()
{
    int i, j;
    scanf("%d %d", &s[4].num, &s[4].computer);
    for(i = 1; i < 5; i++)
    {
        for(j = 0; j < 5 - i; j++)
        {
            if(s[j].computer > s[j+1].computer)
            {
                tamp = s[j];
                s[j] = s[j+1];
                s[j+1] = tamp;
            }
        }
    }
    for(j = 0; j < 5; j++)
        printf("%d %dn", s[j].num, s[j].computer);
}
题目4:

【问题描述】有以下定义:

struct student{
    int num;  //学生序号
    char name[20];  //学生姓名
    int math;  //数学成绩
}stu[4];

请从键盘输入4条学生信息存入结构体数组stu,之后在屏幕上依
次输出这些学生信息,并计算出数学平均成绩,结果保留2位小数。
【输入形式】每条记录的3个数据都使用空格分隔
【输出形式】分四行输出学生信息,每行数据均使用1个空格分隔;
最后一行显示数学平均成绩,保留2位小数
【输入样例】
1 aa 45
2 bb 67
3 dd 77
4 qq 88
【输出样例】
1 aa 45
2 bb 67
3 dd 77
4 qq 88
avg = 69.25 

代码入下:
#include

struct student
{
    int num;  //学生序号
    char name[20];  //学生姓名
    int math;  //数学成绩
}stu[4];


int main()
{
	int i;
	float avg;
	for(i = 0; i < 4; i++)
    {
		scanf("%d %s %d", &stu[i].num, stu[i].name, &stu[i].math);
	}
	for(i = 0;i < 4; i++)
	{
		printf("%d %s %dn", stu[i].num, stu[i].name, stu[i].math);
	}
	avg=1.0*(stu[0].math+stu[1].math+stu[2].math+stu[3].math)/4;
	printf("avg = %.2f", avg);
}

题目5:

【问题描述】有以下类信息,使用结构体数组存储这些信息
struct class{
int id;//类编号
char info[20]; //类信息
}a[5]={{1,"aaa"},{2,"bbb"},{6,"ccc"},{7,"ddd"},{4,"eee"}};

从键盘输入一个类编号,如果有该类,删除该类信息,并输出删除
后剩余类信息;如果没有,全部输出。
【输出形式】分行输出数据,每行数据均使用一个空格分隔
【输入样例】1
【输出样例】每行数据均使用一个空格分隔,分行输出
2 bbb
6 ccc
7 ddd
4 eee

代码入下:
#include


struct class
{
	int id;//类编号
	char info[20]; //类信息
}a[5]={{1,"aaa"},{2,"bbb"},{6,"ccc"},{7,"ddd"},{4,"eee"}};


int main(void)
{
   int i, j, x;
   scanf("%d", &x);
   for(i = 0; i < 5; i++)
   {
       if(a[i].id==x)
        break;
   }
   for(j = i; j < 4; j++)
   {
       a[j] = a[j + 1];
   }
   for(j = 0; j < 4; j++)
   {
       printf("%d %sn", a[j].id, a[j].info);
   }
}

以上就是我给大家精心准备的5道C语言结构体的题目,希望对大家能有所帮助,记得多多点赞收藏评论哦!感谢感谢!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/979612.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号