寒假作业-day7

1>现有文件test.c\test1.c\main.c , 请编写Makefile.

代码:

CC=gcc
EXE=str
OBJS=$(patsubst %.c,%.o,$(wildcard *.c))
CFLAGS=-c -oall:$(EXE)$(EXE):$(OBJS)$(CC) $^ -o $@%.o:%.c$(CC) $(CFLAGS) $@ $^head.o:head.hclean:@rm $(OBJS) $(EXE)

2>C编程实现:

输入一个字符串,计算单词的个数

如:“this is a boy”  输出单词个数:4个

代码:

#include"head.h"int count(char  *arr){int i=0,count=0;while(*(arr+i)){//'\0'是空字符int j=i;while(*(arr+j)!=' '&&*(arr+j)!='\0')//扫过单词j++;if(*(arr+j)==' ')//遇到空格,单词数+1count++;while(*(arr+j)==' ')//去掉多余空格j++;i=j;}return count+1;//最后一个单词后无空格,所以单词数是空格数+1
}

3>C编程实现字符串倒置:(注意 是倒置,而不是直接倒置输出)

如:原字符串为:char *str = “I am Chinese”

倒置后为:“Chinese am I”

附加要求:删除原本字符串中 多余的空格。

代码:

#include"head.h"void Inversion(char *arr){//整体倒置int low=0;int high=strlen(arr)-1;while(low<high){char temp=*(arr+low);*(arr+low)=*(arr+high);*(arr+high)=temp;low++;high--;}//单词倒置int i=0;while(*(arr+i)){int j=i;while(*(arr+j)!=' '&&*(arr+j)!='\0')j++;int k=j-1;//保证j不受影响while(i<k){char temp=*(arr+i);*(arr+i)=*(arr+k);*(arr+k)=temp;i++;k--;}//去除多余空格int z=j+1;//保证j不受影响while(*(arr+z)==' '){//直到这个位置是下一个单词的首字母int x=z;//保证z不受影响,z的位置是下一个单词的首字母位置while(*(arr+x)){//整体前移一位*(arr+x)=*(arr+x+1);x++;}}i=z;}
}

结果:

4>在终端输入一个文件名,判断文件类型

代码:

#!/bin/bashread -p "please input file:" fileif [ -b $file ]
thenecho dev
elif [ -c $file ]
thenecho char_dev
elif [ -d $file ]
then echo dir
elif [ -f $file ]
then    echo regular
elif [ -L $file ]
then echo link
elif [ -S $file ]
then    echo socket
elif [ -p $file ]
then echo pipe
elseecho error
fi

结果:

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

封装sku组件

1. 准备模板渲染规格数据 使用Vite快速创建一个Vue项目&#xff0c;在项目中添加请求插件axios&#xff0c;然后新增一个SKU组件&#xff0c;在根组件中把它渲染出来&#xff0c;下面是规格内容的基础模板 <script setup> import { onMounted, ref } from vue import axi…

NOVATEK显示技术系列之CEDSCHPI Training差异简介

CEDS的数据封包格式&#xff1a;首先CEDS数据封包包括三个部分&#xff1a; Training Pattern即Phase1Control Data 即 Phase2RGB Data 即Phase3 Power on Timing&#xff1a; 工作原理&#xff1a; Power ON时&#xff0c;TCON会发Training Pattern&#xff0c;当COF接受Tr…

江科大STM32 终

目录 SPI协议10.1 SPI简介W25Q64简介10.3 SPI软件读写W25Q6410.4 SPI硬件外设读写W25Q64 BKP备份寄存器、PER电源控制器、RTC实时时钟11.0 Unix时间戳代码示例&#xff1a;读写备份寄存器BKP11.2 RTC实时时钟 十二、PWR电源控制12.1 PWR简介代码示例&#xff1a;修改主频12.3 串…

Linux挂载新的存储设备

1. 尝试mount ls /mnt/sdb mkdir /mnt/sdb mount /dev/sdb /mnt/sdb如果挂载失败, 提示只读之类的, 可能是因为这个磁盘并没有分区, 需要分区. 执行以下语句要注意, 是分区, 如果本身有数据的, 数据会丢失, 磁盘会被格式化 sudo mkfs.ext4 /dev/sdb2. 设置自动挂载 [roottb …

分享90个行业PPT,总有一款适合您

分享90个行业PPT&#xff0c;总有一款适合您 90个行业PPT下载链接&#xff1a;https://pan.baidu.com/s/1bHvhk_42-IFAjNdjPPtMZw?pwd8888 提取码&#xff1a;8888 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 学习知识费力气&#xff0c;收集整理更不易…

106. 从中序与后序遍历序列构造二叉树 - 力扣(LeetCode)

题目描述 给定两个整数数组 inorder 和 postorder &#xff0c;其中 inorder 是二叉树的中序遍历&#xff0c; postorder 是同一棵树的后序遍历&#xff0c;请你构造并返回这颗 二叉树 。 题目示例 输入&#xff1a;inorder [9,3,15,20,7], postorder [9,15,7,20,3] 输出&a…

LINUX系统备份管理

一、centos7系统备份与还原 1、使用tar命令备份 tar打包命令的特点&#xff1a; 保留权限 适合备份整个目录 可以选择不同的压缩方式 如果选择不压缩还能实现增量备份&#xff0c;部份还原&#xff0c;参考man tar 因为Linux类系统不像windows,它不会限制ROOT用户存取任…

Java高级-多线程

多线程 1.线程创建的方法1.1.方法一 继承Thread类1.2.方法二 实现Runnable接口1.3.方法三 实现Callable接口 2.线程安全2.0.线程不安全的案例2.1.方式一&#xff1a;同步代码块2.2.方式二&#xff1a;同步方法2.3.方式三&#xff1a;Lock锁 3.线程池3.1.创建线程池3.2.线程池处…

B2078 含 k 个 3 的数(洛谷)

题目描述 输入两个正整数 m 和 k&#xff0c;其中 1<m≤&#xff0c;1<k≤15 &#xff0c;判断 m 是否恰好含有 k 个 3&#xff0c;如果满足条件&#xff0c;则输出 YES&#xff0c;否则&#xff0c;输出 NO。 输入格式 输入一行&#xff0c;为两个整数 m,k&#xff0…

揭开Markdown的秘籍:标题|文字样式|列表

&#x1f308;个人主页&#xff1a;聆风吟 &#x1f525;系列专栏&#xff1a;Markdown指南、网络奇遇记 &#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 文章目录 &#x1f4cb;前言一. ⛳️Markdown 标题二. ⛳️Markdown 文字样式2.1 &#x1f514;斜体2.2 &…

scss和less的区别

Sass(Scss)、Less 都是 CSS 预处理器&#xff0c;他们定义了一种新的语言&#xff0c;其基本思想是&#xff0c;用一种专门的编程语言为 CSS 增加了一些编程的特性&#xff0c;将 CSS 作为目标生成文件&#xff0c;然后开发者就只要使用这种语言进行 CSS 的编码工作。 为什么要…

快速幂计算 Power Calculus

题目 照搬的题解&#xff0c;重命名了变量 ; -) now >>(maxStep-step)的目的是让剩余步数都用来自*2&#xff0c;看看能不能够到n #include <iostream> using namespace std; int maxStep,n; int nums[50];/// brief 深度遍历查找可行路径&#xff0c;用的递归&…

python智慧养老系统—养老信息服务平台vue

本论文中实现的智慧养老系统-养老信息服务平台将以管理员和用户的日常信息维护工作为主&#xff0c;主要涵盖了系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;养老资讯管理&#xff0c;养生有道管理&#xff0c;养老机构管理&#xff0c;系统管理等功能&#x…

海外云手机——平台引流的重要媒介

随着互联网的飞速发展&#xff0c;跨境电商、短视频引流以及游戏行业等领域正经历着迅猛的更新换代。在这个信息爆炸的时代&#xff0c;流量成为至关重要的资源&#xff0c;而其中引流环节更是关乎业务成功的关键。海外云手机崭露头角&#xff0c;成为这一传播过程中的重要媒介…

Grafana 配置实时开通的LDAP认证-基于AD

介绍 本教程适用于9-10版本的Grafana&#xff0c;域控&#xff08;AD&#xff09;使用Windows Server 2022搭建&#xff0c;域控等级为 2016。 域控域名为 songxwn.com 最终实现AD用户统一认证&#xff0c;统一改密&#xff0c;Grafana用户自动添加。权限由Grafana控制 全局…

Ubuntu22.04 gnome-builder gnome C 应用程序习练笔记(一)

一、序言 gnome-builder构建器是gnome程序开发的集成环境&#xff0c;支持主力语言C, C, Vala, jscript, python等&#xff0c;界面以最新的 gtk 4.12 为主力&#xff0c;将其下版本的gtk直接压入了depreciated&#xff0c;但gtk4.12与普遍使用的gtk3有很大区别&#xff0c;原…

第6章 智能租房——前期准备

学习目标 了解智能租房项目&#xff0c;能够说出项目中各模块包含的功能 熟悉智能租房项目的开发模式与运行机制&#xff0c;能够复述项目的开发模式与运行机制 掌握智能租房项目的创建&#xff0c;能够独立创建智能租房项目 掌握智能租房项目的配置&#xff0c;能够为智能租…

排序算法---堆排序

原创不易&#xff0c;转载请注明出处。欢迎点赞收藏~ 堆排序&#xff08;Heap Sort&#xff09;是一种基于二叉堆数据结构的排序算法。它将待排序的元素构建成一个最大堆&#xff08;或最小堆&#xff09;&#xff0c;然后逐步将堆顶元素与堆的最后一个元素交换位置&#xff0c…

解锁 SpringBoot 强大配置功能

1、前言 在当今的软件开发世界中&#xff0c;配置管理是至关重要的一部分。Spring框架为我们提供了多种配置方式&#xff0c;其中ConfigurationProperties和PropertySources是强大的工具&#xff0c;可以帮助我们轻松管理应用程序的配置信息。 本博客将深入探讨这两个关键注解…

求职|基于Springboot的校园求职招聘系统设计与实现(源码+数据库+文档)

校园求职招聘系统目录 目录 基于Springboot的校园求职招聘系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、用户信息管理 2、企业信息管理 3、公告类型管理 4、公告信息管理 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、最新计算机毕设选…