当前位置: 首页 > article >正文

【C/PTA —— 15.结构体2(课内实践)】

C/PTA —— 15.结构体2(课内实践)

  • 7-1 计算职工工资
  • 7-2 计算平均成绩
  • 7-3 找出总分最高的学生
  • 7-4 通讯录的录入与显示

7-1 计算职工工资

在这里插入图片描述

#include<stdio.h>
#include<stdlib.h>
typedef struct GZ
{
	char name[6];
	double j;
	double f;
	double z;
	double s;
}GZ;


int main()
{
	int n = 0;
	scanf("%d", &n);
	GZ gz[100];
	for (int i = 0; i < n; i++)
	{
		scanf("%s %lf %lf %lf", gz[i].name, &gz[i].j, &gz[i].f, &gz[i].z);
	}

	for (int i = 0; i < n; i++)
	{
		gz[i].s = (gz[i].j + gz[i].f) - gz[i].z;
		printf("%s %.2lf", gz[i].name, gz[i].s);
	}
	return 0;
}

7-2 计算平均成绩

在这里插入图片描述

#include <stdio.h>
#include<stdlib.h>
//定义结构体
struct student
{
	char num[20]; //学号
	char nam[20];  //姓名
	int g;  //成绩
};
int main()
{
	struct student st[10];  //结构体数组
	int n;
	int i;
	float sum, aver;  //要求输出小数

	scanf("%d", &n);
	for (i = 0; i < n; i++)
	{
		scanf("%s %s %d", &st[i].num, &st[i].nam, &st[i].g);
		sum += st[i].g; //录入的同时,计算成绩之和
	}
	aver = sum / n;  //计算平均成绩
	printf("%.2f\n", aver);
	for (i = 0; i < n; i++)
	{
		if (st[i].g < aver)
		{  //判断小于平均成绩,并输出姓名和学号
			printf("%s %s\n", st[i].nam, st[i].num);
		}
	}
}

7-3 找出总分最高的学生

在这里插入图片描述

#include<stdio.h>
#include<stdlib.h>
struct student {
    char num[6];
    char name[11];
    int score1;
    int score2;
    int score3;
};
int main()
{
    int i, n;
    struct student* p;
    scanf("%d", &n);
    p = (struct student*)malloc(sizeof(struct student));
    for (i = 0; i < n; i++)
    {
        scanf("%s %s %d %d %d", p[i].num, p[i].name, &p[i].score1, &p[i].score2, &p[i].score3);
    }
    int s[20];
    for (i = 0; i < n; i++)
    {
        s[i] = p[i].score1 + p[i].score2 + p[i].score3;
    }
    int max, j;
    max = s[0];
    for (i = 0; i < n; i++)
    {
        if (s[i] >= max)
        {
            max = s[i];
            j = i;
        }
    }
    printf("%s %s %d", p[j].name, p[j].num, max);
    free(p);
    return 0;

}

7-4 通讯录的录入与显示

在这里插入图片描述

#include <stdio.h>
#include <stdlib.h>
int main() {

	struct inf {
		char name[20];
		char birthday[20];
		char sex[10];
		char tel[20];//固话 
		char  num[20];//手机 
	};
	int N = 0;
	scanf("%d", &N);
	struct inf list[N];
	int i = 0;
	for (; i < N; i++)
	{
		scanf("%s %s %s %s %s\n", &list[i].name, &list[i].birthday, &list[i].sex, &list[i].tel, &list[i].num);

	}
	int k = 0;
	scanf("%d", &k);//要查询的个数 
	i = 0;
	int q[15] = { 0 };//记录要查询哪几条
	for (; i < k; i++)
	{
		scanf("%d", &q[i]);
	}
	i = 0;
	for (; i < k; i++)
	{

		if (q[i] >= 0 && q[i] < N)//要考虑到查查询的记录的有效性 
			printf("%s %s %s %s %s\n", list[q[i]].name, list[q[i]].tel, list[q[i]].num, list[q[i]].sex, list[q[i]].birthday);
		else
			printf("Not Found\n");
	}
	return 0;

}

http://www.kler.cn/news/162116.html

相关文章:

  • 3D材质编辑:制作被火烧的木头
  • ERP数据仓库模型
  • 数学建模-二氧化碳排放及时空分布测度
  • Ubuntu安装nvidia GPU显卡驱动教程
  • SAP数据一键拉取!利用零代码ETL工具快速实现数据同步
  • 【C/PTA —— 15.结构体2(课外实践)】
  • CPU密集型和IO密集型与CPU内核之间的关系
  • Fabric 画布缩放、拖动、初始化大小
  • 人工智能_机器学习059_非线性核函数_poly核函数_rbf核函数_以及linear核函数效果对比---人工智能工作笔记0099
  • Docker快速入门(编译源码辅助技)
  • AWS攻略——使用中转网关(Transit Gateway)连接同区域(Region)VPC
  • Android 默认打开应用的权限
  • bat脚本之加法
  • Linux_vi/vim编辑器
  • Qt基础之四十:Qt Installer Framework(QtIFW)的编译、使用和实现原理
  • 【Python系列】Python函数
  • 经验分享|MySQL分区实战(RANGE)
  • 系列学习前端之第 4 章:一文精通 JavaScript
  • 【开源视频联动物联网平台】J2mod库写一个Modbus TCP 服务器
  • 在Arch Linux上安装yay
  • Tair(1):Tair介绍
  • vue2-使用vue-i18n搭建多语言切换环境
  • gitlab-jenkins-shell-helm-chart-k8s自动化部署微服务
  • CopyOnWriteArraySet怎么用
  • 用户管理 --汇总
  • C#无标题栏窗体拖动方法
  • C#-数组池减少GC工作
  • 智能优化算法应用:基于北方苍鹰算法无线传感器网络(WSN)覆盖优化 - 附代码
  • 前端——html拖拽原理
  • Redis默认序列化方式乱码原因及解决办法