代码入下:【问题描述】
有以下职工信息,使用结构体数组存储这些信息,从键盘输入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题目2: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); }
代码入下:【问题描述】若有以下银行卡信息:
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题目3:#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); } }
代码入下:【问题描述】有以下学生信息,使用结构体数组存储这些信息
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题目4:#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); }
代码入下:【问题描述】有以下定义:
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题目5: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); }
代码入下:【问题描述】有以下类信息,使用结构体数组存储这些信息
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
#includestruct 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语言结构体的题目,希望对大家能有所帮助,记得多多点赞收藏评论哦!感谢感谢!



