打卡第十天----1048,1049

Steins_Gate_0 2023-11-18 00:32:40

题目 1048: 

[编程入门]自定义函数之字符串拷贝

时间限制: 3s 内存限制: 192MB 提交: 18965 解决: 11014

题目描述

有一字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串。

输入格式

数字n 一行字符串 数字m

输出格式

从m开始的子串

样例输入

复制

6
abcdef
3

样例输出

复制

cdef

错误代码:

#include <stdio.h>
#include <string.h>
#define N 1000
int main()
{
    int n,m;
    char str[N];
    char cp[N];//用来存放新字符串
    int k=0;//计数器
    scanf("%d",&n);
    for(int i=0;i<n;i++)
    {
        scanf("%c",&str[i]);
    }
        scanf("%d",&m);
            for(int j=m-1;j<n;j++)
            {
                cp[k++]=str[j];
            }
    puts(cp);
    return 0;
}

正确代码:

#include <stdio.h>
#include <string.h>
#define N 1000
int main()
{
	int n,m;
	char str[N];
	char cp[N];//用来存放新字符串
	int k=0;//计数器
	scanf("%d",&n);
	getchar();
/*	scanf()在输入第一个整数后的回车符在缓冲区,这个回车符留在缓冲区就会被读取字符的时候读取了
  所以要么加\n,要么用getchar()吃掉回车符*/
	for(int i=0;i<n;i++)
	{
		scanf("%c",&str[i]);
	}
		scanf("%d",&m);
			for(int j=m-1;j<n;j++)
			{
				cp[k++]=str[j];
			}
	puts(cp);
	return 0;
}

错误原因:

1.忘了字符输入时的坑了,scanf()和getchar()都是从缓冲流中接收数据,其中就包括在键盘输入的空格、回车这类字符,当你用%d接收时是不会影响的,但是用%c就会产生错误,这是因为在"%c"输入时,空格和转义字符均作为有效字符会被%c接收。因此,我第一个输入的整数的回车符留在缓冲流里被后面的字符输入给接收了。

2.gets()从键盘键入以回车结束的字符串放入字符数组中,并自动加’\0’,所以其自动扔掉回车符,不会将其留在字符串内或缓冲区内。

详情:

【精选】C语言字符和字符串的输入与输出_c语言输入字符_yummy、的博客-CSDN博客

 

 

 

题目 1049: 

[编程入门]结构体之时间设计

时间限制: 3s 内存限制: 192MB 提交: 21352 解决: 12397

题目描述

定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年问题。

输入格式

年月日

输出格式

当年第几天

样例输入

复制

2000 12 31

样例输出

复制

366

错误代码:

#include <stdio.h>
#include <string.h>
#define N 1000
struct Date{
    int year;
    int month;
    int day;
};
void Pd(struct Date date)
{
    switch (date.month) {
    case 1:
        date.day=0;
        break;
    case 2:
        date.day=31;
        break;
    case 3:
        date.day=59;
        break;
    case 4:
        date.day=90;
        break;
    case 5:
        date.day=120;
        break;
    case 6:
        date.day=151;
        break;
    case 7:
        date.day=181;
        break;
    case 8:
        date.day=212;
        break;
    case 9:
        date.day=243;
        break;
    case 10:
        date.day=273;
        break;
    case 11:
        date.day=304;
        break;
    case 12:
        date.day=334;
        break;
        
    }
}
int main()
{
    struct Date date;
    int year,month,day;
    scanf("%d%d%d",&year,&month,&day);
    date.year=year;
    date.month=month;
    date.day=day;
    if(((date.year%4==0)&&(date.year%100!=0))||(date.year%400==0))
    {
        Pd(date);
        date.day=date.day+day;
        date.day++;
    }
    else{
        Pd(date);
        date.day=date.day+day;
    }
    printf("%d",date.day);
    return 0;
}

实现代码:

#include <stdio.h>
#include <string.h>
#define N 1000
struct Date{
	int year;
	int month;
	int day;
};
void Pd(struct Date *date)
/*用结构体指针或结构体数组作函数参数属于按引用调用,
会影响相应的实参结构体的值,向函数传递结构体地址*/
{
	switch (date->month) {
	case 1:
		date->day=0;
		break;
	case 2:
		date->day=31;
		break;
	case 3:
		date->day=59;
		break;
	case 4:
		date->day=90;
		break;
	case 5:
		date->day=120;
		break;
	case 6:
		date->day=151;
		break;
	case 7:
		date->day=181;
		break;
	case 8:
		date->day=212;
		break;
	case 9:
		date->day=243;
		break;
	case 10:
		date->day=273;
		break;
	case 11:
		date->day=304;
		break;
	case 12:
		date->day=334;
		break;
		
	}
}
int main()
{
	struct Date date;
	int year,month,day;
	scanf("%d%d%d",&year,&month,&day);
	date.year=year;
	date.month=month;
	date.day=0;
	if(((date.year%4==0)&&(date.year%100!=0))||(date.year%400==0))//判断闰年
	{
		Pd(&date);//传地址,给到结构体指针
		date.day=date.day+day;
		//先求出月数之前所过的日期,再加上本月的日期
		date.day++;//闰年二月多一天
	}
	else{
		Pd(&date);
		date.day=date.day+day;
	}
	printf("%d",date.day);
	return 0;
}

错误原因:

1.忘了用结构体变量做函数参数,向函数传递结构体完整结构(属于传值调用,不会影响相应的实参结构体的值)

应该用结构体指针或结构体数组作函数参数属于按引用调用,会影响相应的实参结构体的值,向函数传递结构体地址,因为仅复制结构体首地址一个值给被调函数,能够实现改变原结构体。

...全文
124 回复 打赏 收藏 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
内容概要:本文档是《Video for Linux Two API 规范》第0.24版的中文手册,系统性地介绍了V4L2(Video for Linux 2)的核心API及其使用方法。内容涵盖设备打开与关闭、能力查询、视频与音频输入输出管理、调谐器与调制器配置、视频标准选择、用户与扩展控制、数据格式协商、图像裁剪缩放、流控参数设置,以及多种I/O传输方式(如read/write、内存映射、用户指针等)。手册还详细定义了各类图像像素格式(如YUV、RGB、压缩格式)、缓冲区管理机制和ioctl控制接口,并附有编程示例和驱动开发指导,全面支持从基础捕获到高级视频处理的应用开发。; 适合人群:从事Linux平台下音视频驱动或应用程序开发的工程师,尤其是具备C语言基础并熟悉系统级编程的研发人员;适用于1-5年经验的嵌入式、多媒体或驱动开发者。; 使用场景及目标:① 开发基于摄像头、电视卡、视频采集卡等设备的Linux视频应用;② 实现视频采集、格式转换、流媒体传输、overlay叠加显示等功能;③ 调试和优化V4L2兼容硬件的驱动程序;④ 理解并运用ioctl接口进行设备控制与状态查询。; 阅读建议:建议结合实际硬件环境边学边练,优先通过VIDIOC_QUERYCAP确认设备能力,再逐步配置输入源、数据格式与I/O方式;注意各结构体字段的初始化与对齐要求,关注版本变更带来的兼容性问题,可参考附录示例代码进行调试验证。
数据集可视化效果见下方。 【数据集概况】 · 检测类别(中文):[自行车(bicycle), 公交车(bus), 汽车(car), 行人(person), 骑行者(rider), 踏板车(scooter), 卡车(truck)] · 训练集:1334 张 · 验证集:571 张 · 测试集:0 张 · 总计:1905 张 该数据集基于激光雷达点云生成的二维投影图像,真实还原了城市道路复杂交通场景下的多目标检测需求。图像呈现为典型的鸟瞰视角或前视视角的点云密度图,清晰捕捉到包括汽车、卡车、公交车、自行车、踏板车及行人等各类交通参与者在城市街道中的动态分布。数据集聚焦于高密度交通环境下的目标识别,具备高度的现实应用价值,可有效支撑智能交通系统、自动驾驶感知模块及城市安防监控等领域的技术开发。... 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 100 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.6355** mAP50-95 | 0.3557 Precision | 0.6116 Recall | 0.6067 train/box_loss | 1.3609 train/cls_loss | 1.1274 val/box_loss | 1.5101 val/cls_loss | 1.2023 【训练过程分析】 100 轮训练后 mAP50 仅 0.6355,模型收敛不充分。Loss 曲线前期下降后进入平台期,mAP 提升缓慢。mAP50-95 为 0.3557,定位精度同样偏低。 【模型性能评估】 Precision 0.6116、Recall ...
代码转载自:https://pan.quark.cn/s/a4b39357ea24 一、背景 对近一年以来(2024年H2~2025年H1),在部门非雇员OD管理中出现的主动管理、计划外离职等数据进行整理和复盘,提炼出OD招聘和管理中的经验教训,指导我们在选、用、育、留等各环节的改进,尤其在综合面试环节需要强化一些面试要素,持续优化面试环节的标准和管理过程中差异化的管理方案,提升OD的有效留存率。 二、问题/事件描述 部门近一年时间(2024年H2~2025年H1),出现约9例OD离职(含主动管理)情况,占比约7%,一定程度影响了OD的有效贡献率,本文对数据进行整理和提炼,识别风险因素,提炼共性原因,思考改进方案。 三、分析与对策 WXX - 基本数据:2002年生人,独生子女,流转资源,OD在岗4个月,985学校毕业,非软件专业(金融类专业) - 特征:自学习了一些Python就通过考试进入面试环节 - 面试环节复盘:综面环节第一次没有通过,但因业务需求紧迫,XM对人力补充比较迫切,再三沟通后,综面勉强通过 - 工作中结果:工作中与人交流不多,工作几个月攒到一些收入就准备离职出去玩。 主动离职 FXX - 基本数据:2002年生人,独生子女,流转资源,OD工作3个月,成绩较好,专业对口,父母为国企职工 - 特征:候选人沟通积极,思路清晰 - 面试环节复盘:综面意见较好,沟通比较积极,入职体检正常。 当时团队交付压力大,需要补充新鲜力量。 综面正常通过 - 工作中结果:入职后就经常生病(感冒等),工作后就隔三差五请假看病,整体出勤率低于50%时间,无法有效安排工作。 后主动管理 SXX - 基本数据:2001年生人,独生子女,OD工作2年,985大学环境专业,有一段时...

30,423

社区成员

发帖
与我相关
我的任务
社区描述
打造最热爱学习的高校社区,帮助大家提升计算机领域知识,带大家打比赛拿奖,提高自我,希望大家共同创造良好的社区氛围。
社区管理员
  • 川川菜鸟
  • 亡心灵
  • 星辰菜鸟
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

监督大家学习,每日学习打卡,以投稿形式打卡。扫码关注公众号,可加入粉丝群和领取大量资源。

试试用AI创作助手写篇文章吧