期末复习4---PTA之前题目复习

2024-06-11 18:04
文章标签 复习 pta 期末 题目 之前

本文主要是介绍期末复习4---PTA之前题目复习,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

怎么在不能用strlen也就四没有string.h头文件的时候实现统计字符串的长度?

字符串的逆序(看收藏里面的题)

#include <stdio.h>
void f(char *p);int main()
{char s[1000];gets(s);f(s);printf("%s",s);return 0;
}void f(char *p)
{int i=0;int q,k=0;while(p[i]!='\0'){i++;}while(k<i){q=p[k];p[k]=p[i-1];p[i-1]=q;k++;i--;}
}

输入输出函数实现

void InputArr( struct student arr[], int n, int m )
{int i;for(i=0;i<n;i++){scanf("%ld %s",&arr[i].id,arr[i].name);for(int j=0;j<m;j++){scanf("%d",&arr[i].score[j]);}}
}void OutputArr( struct student arr[], int n, int m )
{double average;for(int i=0;i<n;i++){average=(double)(arr[i].score[0]+arr[i].score[1]+arr[i].score[2])/m;printf("%8ld%8s%4d%4d%4d%6.1f\n",arr[i].id,arr[i].name,arr[i].score[0],arr[i].score[1],arr[i].score[2],average);}
}

找出总分最高的同学信息

存在的问题:sum,average,max这些变量到底在什么时候去定义,定义完后分别该怎么用?

 有一个最简单的办法,就是代码写的长,但是不用担心这样的问题

#include <stdio.h>
struct student{char num[6];char name[11];int a,b,c;
};
int main()
{int n;scanf("%d",&n);struct student stu[n];int i;for(i=0;i<n;i++){scanf("%s%s%d%d%d",stu[i].num,stu[i].name,&stu[i].a,&stu[i].b,&stu[i].c);}int max=0;for(i=1;i<n;i++){if(stu[i].a+stu[i].b+stu[i].c>stu[max].a+stu[max].b+stu[max].c)max=i;}printf("%s %s %d",stu[max].name,stu[max].num,stu[max].a+stu[max].b+stu[max].c);return 0;
}

经过修改实验

sum最好定义到结构体里面,后面才可以用stu[i].sum

max最好直接int max=0;

下面的循环从1开始

更改以后的简便一点的 

 相应代码:

#include <stdio.h>
struct student{char num[6];char name[11];int a,b,c;int sum;
};
int main()
{int n;scanf("%d",&n);struct student stu[n];int i;for(i=0;i<n;i++){scanf("%s%s%d%d%d",stu[i].num,stu[i].name,&stu[i].a,&stu[i].b,&stu[i].c);}int max=0;for(i=1;i<n;i++){stu[i].sum=stu[i].a+stu[i].b+stu[i].c;if(stu[i].sum>stu[max].sum)max=i;}printf("%s %s %d",stu[max].name,stu[max].num,stu[max].sum);return 0;
}

从大到小或者从小到大排序----冒泡排序---双重循环i,j

#include<stdio.h>
#include<string.h>struct student{char name[10];int birth;char tale[21];}stu[10],stu1;int main() {int i,j,n;scanf("%d",&n);for(i=0;i<n;i++){scanf("%s %d %s",stu[i].name,&stu[i].birth,stu[i].tale);}for( i=0;i<n-1;i++){for( j=0;j<n-i-1;j++){if(stu[j].birth>stu[j+1].birth){stu1=stu[j];stu[j]=stu[j+1];stu[j+1]=stu1;}}}for(i=0;i<n;i++){printf("%s %d %s\n",stu[i].name,stu[i].birth,stu[i].tale);}return 0;}

我写的时候有一个错误,下次要避免

 

这篇关于期末复习4---PTA之前题目复习的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1051898

相关文章

可视化实训复习篇章

前言: 今天,我们来学习seaborn库可视化,当然,这个建立在Matplotlib的基础上,话不多说,进入今天的正题吧!当然,这个是《python数据分析与应用》书中,大家有需求的可以参考这本书。 知识点: Matplotlib中有两套接口分别是pyplot和pyylab,即绘图时候主要导入的是Matplotlib库下的两个子模块(两个py文件)matplotlib.pyplot和matp

数据库期末复习知识点

A卷 1. 选择题(30') 2. 判断范式(10') 判断到第三范式 3. 程序填空(20') 4. 分析填空(15') 5. 写SQL(25') 5'一题 恶性 B卷 1. 单选(30') 2. 填空 (20') 3. 程序填空(20') 4. 写SQL(30') 知识点 第一章 数据库管理系统(DBMS)  主要功能 数据定义功能 (DDL, 数据定义语

复习2-20240624

vscode 使用 Javabean (封装性) public class Demo01 {/*1.原则 : 字母 数字 $ _ 中文 除了 这五个 其它都不可以2. 细则 : 数字 不能 开头%hbviunh &hfiureh )nhjrn 7487j -ni +hbiu tgf h

操作系统实训复习笔记(1)

目录 Linux vi/vim编辑器(简单) (1)vi/vim基本用法。 (2)vi/vim基础操作。 进程基础操作(简单) (1)fork()函数。 写文件系统函数(中等) ​编辑 (1)C语言读取文件。 (2)C语言写入文件。 1、write()函数。  读文件系统函数(简单) (1)read()函数。 作者本人的操作系统实训复习笔记 Linux

【云计算 复习】第1节 云计算概述和 GFS + chunk

一、云计算概述 1.云计算的商业模式 (1)软件即服务(SaaS) 有些景区给游客提供烧烤场地,游客需要自己挖坑或者砌烧烤台,然后买肉、串串、烧烤。 (2)平台即服务(PaaS) 有些景区给游客提供烧烤场地,同时搭建好烧烤台,游客只需要自己带食材和调料、串串、烧烤。 (3)基础设施即服务(IaaS) 有些景区给游客提供烧烤场地,同时搭建好烧烤台,还有专门的厨师来烧烤,用户不需要关心前面的所有

数据库原理与安全复习笔记(未完待续)

1 概念 产生与发展:人工管理阶段 → \to → 文件系统阶段 → \to → 数据库系统阶段。 数据库系统特点:数据的管理者(DBMS);数据结构化;数据共享性高,冗余度低,易于扩充;数据独立性高。DBMS 对数据的控制功能:数据的安全性保护;数据的完整性检查;并发控制;数据库恢复。 数据库技术研究领域:数据库管理系统软件的研发;数据库设计;数据库理论。数据模型要素 数据结构:描述数据库

【计算机组成原理】部分题目汇总

计算机组成原理 部分题目汇总 一. 简答题 RISC和CICS 简要说明,比较异同 RISC(精简指令集)注重简单快速的指令执行,使用少量通用寄存器,固定长度指令,优化硬件性能,依赖软件(如编译器)来提升效率。 CISC(复杂指令集)包含多样复杂的指令,能一条指令完成多步操作,采用变长指令,减少指令数但可能增加执行时间,倾向于硬件直接支持复杂功能减轻软件负担。 两者均追求高性能,但RISC

Deep Learning复习笔记0

Key Concept: Embedding: learned dense, continuous, low-dimensional representations of object 【将难以表示的对象(如图片,文本等)用连续的低维度的方式表示】 RNN: Recurrent Neural Network -> for processing sequential data (time se

PTA基础题考点汇总

一:字符串(数组)的逆序,栈的方法 **字符串数组的逆序 : ** 标准容器库的知识:定义stack容器于字符串:stackv; string s; //这里用到了c++中stl(标准容器库的知识)stack;//用的时候要声明头文件;定义stack容器和string;stack<string>v; string s;了解几个函数,v.top( );//让最后一个元素出栈;(v是定义的

【大数据 复习】第11,12,13,14章

Web应用与流数据 1.在Web应用、网络监控、传感监测等领域,兴起了一种新的数据密集型应用——静态数据,即数据以大量、快速、时变的流形式持续到达。( )    正确答案: 错误 错误在静态数据,这里应该叫非静态数据之类的,虽然没有这个名词。 2.流数据适合采用批量计算,因为流数据适合用传统的关系模型建模。( )    正确答案: 错误 传统的关系模型一般是用于静态数据的存储和分析,例如 S