寒假 day7

1.现有文件test.cltest1.clmain.c,请编写Makefile

CC=gcc
EXE=a.out

#patsubst : 把 .c 替换成 .o
#wildcard :收集所有的 .c 
OBJS=$(patsubst %.c,%.o,$(wildcard *.c ))
CFLAGS=-c -o

all:$(EXE)
$(EXE):$(OBJS)
	$(CC) $^ -o $@

#当%表示test时  test.o:test.c
#当%表示1时     1.o:1.c
%.o:%.c
	$(CC) $(CFLAGS) $@ $^

#伪目标:当文件名与目标重名时,优先匹配文件
#添加伪目标,可以忽略文件,识别目标
.PHONY:clean
clean:
	@rm $(OBJS) $(EXE)


2.C编程实现:输入一个字符串,请计算单词的个数


eg:"this is a boy'
输出单词个数:4个

#include<stdio.h>
#include<string.h>	
#include<stdlib.h>

int main(int argc, const char *argv[])
{
	char arr[20];
	printf("please enter arr:");
	gets(arr);
	int sum=1,i=0;
	while(arr[i]!='\0')
	{
		if(arr[i]==' ')
			sum++;
		i++;
	}
	printf("共%d个字符\n",sum);
	return 0;
}


3.在终端输入一个文件名,判断文件的类型

#!/bin/bash
file=$1
if [ -b $file ]
then 
	echo "dev"
elif [ -c $file ]
then
	echo "char_dev"
elif [ -d $file ]
then
	echo "dir"
elif [ -L $file ]
then
	echo "link"
elif [ -S $file ]
then
	echo "socket"
elif [ -p $file ]
then
	echo "pipe"
elif [ -f $file ]
then
	echo "regular"
else
	echo "error"
fi

4.字符串倒置:(注意:是倒置,而不是直接倒置输出


原字符串为:char *str =“Iam Chinese
倒置后为:“Chinese am I”
附加要求:删除原本字符串中多余的空格

#include<stdio.h>
#include<string.h>	
#include<stdlib.h>

int main(int argc, const char *argv[])
{
	char str[20];
	printf("please enter str:");
	gets(str);
	int i=0,j=strlen(str)-1;
	//先  整体 逆置 
	while(i<j)
	{
		char temp=str[i];
		str[i]=str[j];
		str[j]=temp;
		i++;
		j--;
	} 
	// 单词 逆置
	// 
	i=j=0;
	int k=0;
	while(str[i]!='\0')
	{
		// 循环到 ' ' 且  '\0'结束     
		while(str[j]!=' ' &&str[j]!='\0' ) 
		{
			j++;
		}	
		k=j-1;
		// 循环交换 str[i] 与 str[k] 的 字符 
		while(i<k)
		{
			char temp=str[i];
			str[i]=str[k];
			str[k]=temp;
			i++;
			k--;	
		}
		// 循环到 不等于' ' 结束  
		// str[j]  跨越 ' ' 
		while(str[j]==' ')
		{
			j++;
		}
		//  
		i=j;
	}
	for(i=0;str[i]!='\0';i++)
	{
		if(str[i]==' ')
		{
			for(j=i+1;str[j]!='\0';j++)
			{
				char t=str[j-1];
				str[j-1]=str[j];
				str[j]=t;
			}
		}
	}
	puts(str);
 
	return 0;
}

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

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

相关文章

【XILINX】各系列FPGA的高速收发器速度及特点

概述 xilinx收发器产品涵盖了当今高速协议的全部范围。GTH 和 GTY 收发器提供要求严苛的光学互连所需的低抖动&#xff0c;并具有世界一流的自适应均衡功能以及困难的背板操作所需的 PCS 功能。 Versal™ ACAP GTY (32.75Gb/s)&#xff1a;针对延迟和功耗进行了优化Versal ACAP…

MacOS Mojavev10.14.6

MacOS Mojave v10.14.6系统安装包是一款专为Mac用户设计的操作系统软件包。Mojave是苹果公司为Mac设备开发的一个操作系统版本&#xff0c;它提供了许多新功能和改进&#xff0c;旨在提高Mac用户的使用体验和工作效率。 安装MacOS Mojave v10.14.6系统后&#xff0c;用户可以享…

6个好看的wordpress模板

简站wordpress服务业通用主题 2023年立秋纪念版&#xff0c;简站wordpress服务行业通用主题&#xff0c;适合服务行业企业官网使用。 https://www.jianzhanpress.com/?p5393 小语种翻译wordpress主题 小语种国家外贸网站建设需要的wordpress主题模板&#xff0c;适合做小语…

SpringBoot之事务源码解析

首先事务是基于aop的&#xff0c;如果不了解aop的&#xff0c;建议先去看下我关于aop的文章: Spring之aop源码解析  先说结论&#xff0c;带着结论看源码。首先&#xff0c;在bean的生命周期中&#xff0c; 执行实例化前置增强&#xff0c;会加载所有切面并放入缓存&#xff0…

83 CTF夺旗-Python考点SSTI反序列化字符串

这里写目录标题 CTF各大题型简介演示案例:CTF夺旗-Python-支付逻辑&JWT&反序列化CTF夺旗-Python-Flask&jinja2&SSTl模版注入CTF夺旗-Python-格式化字符串漏洞&读取对象 涉及资源&#xff1a; 我们这篇文章主要讲的是CTF在web渗透测试方向的3个考点 CTF各大…

【附代码】NumPy加速库NumExpr(大数据)

文章目录 相关文献测试电脑配置数组加减乘除数组乘方Pandas加减乘除总结 作者&#xff1a;小猪快跑 基础数学&计算数学&#xff0c;从事优化领域5年&#xff0c;主要研究方向&#xff1a;MIP求解器、整数规划、随机规划、智能优化算法 如有错误&#xff0c;欢迎指正。如有…

【教学类-48-02】20240207“年”和“月”和“日”相等(如2012 1212)

背景需求&#xff1a; 已经制作了对称年月的数字提取&#xff0c; 【教学类-48-01】20240205对称的“年”和“月日”&#xff08;如2030 0302&#xff09;-CSDN博客文章浏览阅读84次。【教学类-48-01】20240205对称的“年”和“月日”&#xff08;如2030 0302&#xff09;htt…

特征工程:特征提取和降维-上

目录 一、前言 二、正文 Ⅰ.主成分分析 Ⅱ.核主成分分析 三、结语 一、前言 前面介绍的特征选择方法获得的特征&#xff0c;是从原始数据中抽取出来的&#xff0c;并没有对数据进行变换。而特征提取和降维&#xff0c;则是对原始数据的特征进行相应的数据变换&#xff0c;并…

SERVLET线程模型

1. SERVLET线程模型 Servlet规范定义了两种线程模型来阐明Web容器应该如何在多线程环境中处理servlet。第一种模型称为多线程模型,默认在此模型内执行所有servlet。在此模型中,每次客户机向servlet发送请求时Web容器都启动一个新线程。这意味着可能有多个线程同时访问servle…

Python Paramiko 使用交互方式获取终端输出报错

近期接到一个需求&#xff0c;要批量登录网络设备获取配置。 原计划使用 Paramiko exec即可&#xff0c;但是后来发现&#xff0c;有些设备命令也执行了&#xff0c;但是没有回显。 于是尝试使用 invoke_shell() 方式。 前期调试倒是OK&#xff0c;直到遇见一个输出内容较长的…

MySQL ——group by子句使用with rollup

group by 子句使用with rollup关键字之后&#xff0c;具有分组加和的功能。即&#xff1a;在所有的分组记录之后&#xff0c;自动新增一条记录&#xff0c;从全局计算所有记录的数据。 0 问题描述 求出每年的学生平均成绩&#xff0c;及历史至今的平均成绩&#xff0c;结果保留…

服务器与电脑的区别?

目录 一、什么是服务器 二、什么是电脑 三、服务器和电脑的区别 一、什么是服务器 服务器是指一种专门提供计算和存储资源、运行特定软件服务的物理或虚拟计算机。服务器主要用于接受和处理来自客户端&#xff08;如个人电脑、手机等&#xff09;的请求&#xff0c;并向客户…

掌握虚拟化与网络配置之道:深入浅出VMware及远程管理技巧

目录 虚拟机介绍 虚拟机的关键字 服务器架构的发展 为什么用虚拟机VMware 虚拟机和阿里云的区别 功能角度 价格因素 应用场景 优势方面 找到windows的服务管理 配置VMware 关于VMware安装的几个服务 vmware如何修改各种网络配置 关于NAT的详细信息(了解) NAT(网…

FPGA_简单工程_无源蜂鸣器驱动实验

一 理论 蜂鸣器按其结构可分为电磁式蜂鸣器和压电式蜂鸣器2中类型&#xff0c;按其有无信号源&#xff0c;分为有源蜂鸣器和无源蜂鸣器。 有源蜂鸣器&#xff0c;内部装有集成电路&#xff0c;不需要音频驱动电路&#xff0c;就直接能发出声响&#xff0c;而无源蜂鸣器&#…

ubuntu22.04安装部署03: 设置root密码

一、前言 ubuntu22.04 安装完成以后&#xff0c;默认root用户是没有设置密码的&#xff0c;需要手动设置。具体的设置过程如下文内容所示&#xff1a; 相关文件&#xff1a; 《ubuntu22.04装部署01&#xff1a;禁用内核更新》 《ubuntu22.04装部署02&#xff1a;禁用显卡更…

机器学习——有监督学习和无监督学习

有监督学习 简单来说&#xff0c;就是人教会计算机学会做一件事。 给算法一个数据集&#xff0c;其中数据集中包含了正确答案&#xff0c;根据这个数据集&#xff0c;可以对额外的数据希望得到一个正确判断&#xff08;详见下面的例子&#xff09; 回归问题 例如现在有一个…

基于SpringBoot+Vue的校园博客管理系统

末尾获取源码作者介绍&#xff1a;大家好&#xff0c;我是墨韵&#xff0c;本人4年开发经验&#xff0c;专注定制项目开发 更多项目&#xff1a;CSDN主页YAML墨韵 学如逆水行舟&#xff0c;不进则退。学习如赶路&#xff0c;不能慢一步。 目录 一、项目简介 二、开发技术与环…

嵌入式学习之Linux入门篇笔记——10,Linux连接档概念

配套视频学习链接&#xff1a;http://【【北京迅为】嵌入式学习之Linux入门篇】 https://www.bilibili.com/video/BV1M7411m7wT/?p4&share_sourcecopy_web&vd_sourcea0ef2c4953d33a9260910aaea45eaec8 目录 1.Linux 下的连接档种类 2.什么是 inode&#xff1f; 3.什…

3060ti显卡+cuda12.1+win10编译安装生成fastdeploy的c++与python库

在cuda12中,调用官方发布的fastdeploy会出现报错,故此自行编译fastdeploy库。 官网编译教程:https://github.com/PaddlePaddle/FastDeploy/blob/develop/docs/cn/build_and_install/gpu.md 可选编译选项 编译选项 无论是在何平台编译,编译时仅根据需求修改如下选项,勿…

数据库学习笔记2024/2/4

随笔 怎么学? 1、MySQL数据库就是存储和管理数据的一个大型软件,这个软件有一个专门的语言叫SQL,主要学的是SQL语言,但想要达到企业用人标准,就还得学会熟练使用MySQL这个软件。 2、学习分三阶段: 一. 基础篇 1. MySQL概述 1.1 数据库相关概念 数据库管理系统 -> MyS…