期末复习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;
 }

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

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/698939.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

为啥影像导入GIS后,颜色会变?两个方法解决它!

不知道你有没有遇到过这种情况&#xff0c; 影像的正常颜色是这样的—— 可是导入到GIS后&#xff0c; 颜色竟然变了&#xff0c; 而且变得很奇怪—— 你也不必惊讶&#xff0c; 极大概率是因为数据源类型没有正确识别&#xff0c; 有两个方法可以解决这个问题—— 方法一…

告别Proteus,拥抱SmartEDA:电路设计新纪元,效率飞跃不是梦!

在数字化浪潮席卷而来的今天&#xff0c;电路设计行业也迎来了前所未有的变革。曾经&#xff0c;Proteus以其稳定可靠的性能&#xff0c;赢得了众多电路设计工程师的青睐。然而&#xff0c;随着技术的不断进步和市场的快速变化&#xff0c;我们需要一款更加高效、智能的工具来应…

苹果一夜间重塑iPhone!GPT-4o赋能Siri,AI深入所有应用,库克:开启苹果AI新时代

千呼万唤&#xff0c;苹果如何用AI重塑iPhone&#xff0c;答案终于揭晓&#xff01; 各种令人激动的传闻&#xff0c;通通都是真的—— 苹果确定与OpenAI达成合作&#xff0c;接入ChatGPT&#xff0c;使用GPT-4o模型。 GPT-4o深夜发布&#xff01;Plus免费可用&#xff01;http…

工业4.0下的PLC进化论:ARMxy计算机如何重塑自动化

智能物流系统的高效与精准成为企业竞争力的关键。在这个背景下&#xff0c;传统的PLC系统因其固有的局限性&#xff0c;如扩展性差、系统封闭等&#xff0c;开始显得力不从心。ARMxy工业计算机作为新一代的PLC替代方案&#xff0c;凭借其低功耗、高性能以及高度的灵活性&#x…

使用LangChain与ChatGLM实现本地知识库(一)

前言 本篇主要内容为介绍ChatGLM3的安装使用&#xff0c;后续才会涉及到使用LangChain实现本地知识库的内容&#xff1b; ChatGLM为智谱与清华大学开源的一个大语言模型&#xff0c;支持多轮对话、内容创作等&#xff0c;ChatGLM3-6B为ChatGLM3系列中门槛相对较低的一个&…

成都跃享未来教育抖音小店深度解析靠谱与否

在如今网络购物日益繁荣的时代&#xff0c;抖音小店以其独特的平台优势和庞大的用户基础&#xff0c;吸引了越来越多的商家入驻。成都跃享未来教育咨询有限公司便是其中之一&#xff0c;它的抖音小店究竟靠不靠谱呢&#xff1f;今天&#xff0c;我们就来一起揭开这个谜底。 首…

vue实现拖拽元素;vuedraggable拖拽插件

效果图&#xff1a; 中文文档 以下代码可直接复制使用 安装依赖 npm i -S vuedraggable使用 <template><div class"container"><div>使用flex竖轴布局 <br>handle".mover" 可拖拽的class类名 <br>filter".forbid&qu…

解析ISP许可证:构建安全可靠的网络空间

在当今数字化时代&#xff0c;互联网已成为人们生活和工作中不可或缺的一部分。作为连接世界的纽带&#xff0c;互联网服务提供商&#xff08;ISP&#xff09;承担着重要的责任&#xff0c;为用户提供稳定、高效的网络接入和服务。而ISP许可证&#xff0c;则是保障这些服务合法…

SmartEDA:革新教育电路,点亮学生创新之光!

在当今快速发展的科技时代&#xff0c;电路设计与电子技术的融合已成为教育领域不可或缺的一部分。而SmartEDA作为一款新兴的电路设计工具&#xff0c;正以其独特的优势助力学生创新实践&#xff0c;引领教育界迈向更加智能化的未来。 SmartEDA不仅具备传统电路设计软件的基本…

maven在setting.xml配置文件中限制某个包不走某个镜像的配置案例

一、以阿里云镜像为例 1、验证示例&#xff0c;在 ideal 项目的父 pom.xml 文件中&#xff0c;配置了如下指定镜像 <repositories><repository><id>osgeo</id><url>https://repo.osgeo.org/repository/release/</url><snapshots>&l…

知识管理与集体创新——从企业到新型研发机构的实践与思考︱PMO大会

全国PMO专业人士年度盛会 鹏城实验室人力资源处人才发展主管&#xff0c;原华为供应链管理部知识管理负责人王万翎女士受邀为PMO评论主办的2024第十三届中国PMO大会演讲嘉宾&#xff0c;演讲议题为“知识管理与集体创新——从企业到新型研发机构的实践与思考”。大会将于6月29-…

72V降3.3V1A降压恒压WT6039

72V降3.3V1A降压恒压WT6039 WT6039是设计用于满足宽电压输入需求的一款高效DC-DC降压转换器芯片&#xff0c;它被优化以在12V到90V的宽电压范围内操作。该器件整合了多种功能&#xff0c;包括使能开关控制、精准的参考电源提供、误差放大器、以及为安全性能考虑的过热保护、限…

关于物料字段的前导零问题

一个需要CALL FUNCTION 一个可以直接用ALPHA&#xff0c;如果对物料用ALPHA的话&#xff0c;会导致将物料的前导零补成40位&#xff0c;导致问题出现。

小魔推-短视频矩阵批量创作一键分发同城引流工具

​小魔推是一款短视频营销裂变推广工具&#xff0c;主要服务于想做短视频营销的实体商家&#xff0c;通过BGC、PGC、UGC的打造帮助商家实现流量裂变与转化。 其中&#xff0c;小魔推AI矩阵营销是借助AI技术帮助企业/商家搭建营销矩阵&#xff0c;让商家拥有足够多的账号、足够…

在windows10 安装子系统linux(WSL安装方式)

在 windows 10 平台采用了WSL安装方式安装linux子系统 1 查找自己想要安装的linux子系统 wsl --list --online 2 在线安装 个人用Debian比较多&#xff0c;这里选择Debian&#xff0c;如下图&#xff1a; wsl --install -d Debian 安装过程中有一步要求输入用户名与密码&…

shell编程(四)—— 运算符

和其他编程语言一样&#xff0c;bash也有多种类型的运算符&#xff0c;本篇对bash的相关运算符做简单介绍。 一、运算符 1.1 算术运算符 常见的算术运算符&#xff0c;如加&#xff08;&#xff09;、减&#xff08;-&#xff09;、乘&#xff08;*&#xff09;、除&#xf…

qemu创建kvm虚拟机-x86模拟arm

1、虚拟机环境 虚拟机ubuntu22.042、下载需要的依赖 apt install openssh-server net-tools vim -yapt install qemu qemu-kvm qemu-system-arm bridge-utils uml-utilities qemu-efi-aarch64 cloud-image-utils -y#查看版本 qemu-img -V(1) 下载uefi固件 cd /optwget https…

RERCS系统开发实战案例-Part02 创建BOPF对应的业务对象(Business Object)

1、通过事务码 BOBF创建业务对象 2、输入debug&#xff0c;进入编辑模式新建BO对象&#xff1b; 选择对应的BO对象属性类别&#xff1a; 3、激活BO对象 接口页签&#xff1a; 属性页签&#xff1a;自动带出标准的常量 改接口类部分源码&#xff1a; 4、BO对象Node Elemen…

精酿啤酒未来市场的发展

当我们深入探讨中国啤酒产业时&#xff0c;不难发现这是一个既传统又充满创新活力的领域。特别是近年来&#xff0c;随着消费者对品质生活的追求和口味的多样化&#xff0c;精酿啤酒这一细分市场逐渐崭露头角&#xff0c;吸引了众多创业者的目光。 在中国&#xff0c;啤酒行业早…

linux笔记7--环境变量

文章目录 1. 什么是环境变量情景导入问题延申环境变量的作用总之 2. 环境变量的划分3. 用户和局部变量的设定4. 定义全局变量5. 注意6. 删除自己定义的全局变量、局部变量&#xff1a;问题 7. printenv8. 问题残留9. 默认的环境变量10. 如何添加环境变量11. Linux中如何永久配置…