C语言程序设计15

news2024/9/20 20:41:49

程序设计15

  • 问题15_1
    • 代码15_1
    • 结果15_1
  • 问题15_2
    • 代码15_2
    • 结果15_2
  • 问题15_3
    • 代码15_3
    • 结果15_3

问题15_1

        在 m a i n main main 函数中将多次调用 f u n fun fun 函数,每调用一次,输出链表尾部结点中的数据,并释放该结点,使链表缩短。

代码15_1

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

#define N 8

typedef struct list{
	int data;
	struct list *next;
}SLIST;

void fun(SLIST *p){
	SLIST *t, *s;
	t = p->next;
	s = p;
	while(t->next!=NULL){
		s = t;
		t = t->next;
	}
	printf("%d", t->data);
	s->next = NULL;
	free(t);
}

SLIST *creatlist(int *a){
	SLIST *h, *p, *q;
	int i;
	h = p = (SLIST *)malloc(sizeof(SLIST));
	for(i=0; i<N; i++){
		q = (SLIST *)malloc(sizeof(SLIST));
		q->data = a[i];
		p->next = q;
		p = q;
	}
	p->next = 0;
	return h;
}

void outlist(SLIST *h){
	SLIST *p;
	p = h->next;
	if(p==NULL)
		printf("\nThe list is NULL!\n");
	else
	{
		printf("\nHead");
		do{
			printf("->%d", p->data);
			p = p->next;
		}while(p!=NULL);
		printf("->End\n");
	}
}

void main(void){
	SLIST *head;
	int a[N] = {11, 12, 15, 18, 19, 22, 25, 29};
	head = creatlist(a);
	printf("\nOutput from head:\n");
	while(head->next!=NULL){
		fun(head);
		printf("\n\n");
		printf("\nOutput from head again:\n");
		outlist(head);
	}
}

结果15_1

Result_15_1

问题15_2

        函数 f u n fun fun 的功能是:将字符串中的字符逆序输出,但不改变字符串中的内容。
        例如,若字符串为 a b c d abcd abcd,则应输出 : d c b a :dcba dcba

代码15_2

#include<stdio.h>

void fun(char *a){
	if(*a){
		fun(a+1);
		printf("%c", *a);
	}
}

void main(void){
	char s[10] = "abcd";
	printf("处理前字符串 = %s,\n处理后字符串 = ", s);
	fun(s);
	printf("\n");
}

结果15_2

Result_15_2

问题15_3

         编写函数 f u n fun fun ,功能是:比较字符串的长度,不得使用 C C C 语言提供的求字符串的长度函数,函数返回较长的字符串。若两个字符长度相同,则返回第一个字符串。
        例如,输入 " b e i j i n g " < C R > " s h a n g h a i " < C R > "beijing"<CR>"shanghai"<CR> "beijing"<CR>"shanghai"<CR> < C R > <CR> <CR> E n t e r Enter Enter 键),函数将返回 " s h a n g h a i " "shanghai" "shanghai"

代码15_3

#include<stdio.h>

char *fun(char *s, char *t){
	int i, j;
	for(i=0; s[i]!='\0'; i++);
	for(j=0; t[j]!='\0'; j++);
	if(i<=j)
		return t;
	else
		return s;
}

void main(void){
	char a[20], b[20];
	printf("Input 1th string:");
	gets(a);
	printf("Input 2th string:");
	gets(b);
	printf("%s", fun(a, b));
}

结果15_3

Result_Q15_3

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

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

相关文章

【SQL 新手教程 3/20】关系模型 -- 外键

&#x1f497; 关系数据库建立在关系模型上⭐ 关系模型本质上就是若干个存储数据的二维表 记录 (Record)&#xff1a; 表的每一行称为记录&#xff08;Record&#xff09;&#xff0c;记录是一个逻辑意义上的数据 字段 (Column)&#xff1a;表的每一列称为字段&#xff08;Colu…

Buildroot 构建 Linux 系统

Buildroot 是一个工具&#xff0c;以简化和自动化为嵌入式系统构建完整 Linux 系统的过程。使用交叉编译技术&#xff0c;Buildroot 能够生成交叉编译工具链、根文件系统、Linux 内核映像和针对目标设备的引导加载程序。可以独立地使用这些选项的任何组合&#xff0c;例如&…

Vitis AI 使用 VAI_Q_PYTORCH 工具

目录 1. 简介 2. 资料汇总 3. 示例解释 3.1 快速上手示例 4. 总结 1. 简介 vai_q_pytorch 是 Vitis AI Quantizer for Pytorch 的缩写&#xff0c;主要作用是优化神经网络模型。它是 Vitis AI 平台的一部分&#xff0c;专注于神经网络的深度压缩。 vai_q_pytorch 的作用…

大数据管理中心设计规划方案(可编辑的43页PPT)

引言&#xff1a;随着企业业务的快速发展&#xff0c;数据量急剧增长&#xff0c;传统数据管理方式已无法满足高效处理和分析大数据的需求。建立一个集数据存储、处理、分析、可视化于一体的大数据管理中心&#xff0c;提升数据处理能力&#xff0c;加速业务决策过程&#xff0…

Spring Boot:图书管理系统(一)

1.编写用户登录接口 代码&#xff1a; package com.example.demo;import jakarta.servlet.http.HttpSession; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotatio…

HarmonyOS和OpenHarmony区别联系

前言 相信我们在刚开始接触鸿蒙开发的时候经常看到HarmonyOS和OpenHarmony频繁的出现在文章和文档之中&#xff0c;那么这两个名词分别是什么意思&#xff0c;他们之间又有什么联系呢&#xff1f;本文将通过现有的文章和网站内容并与Google的AOSP和Android做对比&#xff0c;带…

Vue.js 2 项目实战(五):水果购物车

前言 Vue.js 是一个用于构建用户界面的渐进式 JavaScript 框架。它的设计目标是通过采用易于上手的结构和强大的功能&#xff0c;使前端开发变得更加简便和高效。以下是 Vue.js 的一些关键特性和优点&#xff1a; 核心特性 声明式渲染 Vue.js 使用声明式语法来描述用户界面&a…

AI周报(7.21-7.27)

AI应用-一款能提供情绪价值的智能鸟类喂食器&#xff08;Bird Buddy&#xff09; 图像识别技术&#xff1a;Bird Buddy装备了图像识别技术&#xff0c;能够识别超过1000种鸟类&#xff0c;涵盖了常见的鸟类品种。这种技术能够在鸟类经过时&#xff0c;通过内置麦克风捕捉的声音…

PID 控制实验 - 整定实验

Arduino PID Arduino-PID-LibraryArduino-PID-AutoTune-Library PID控制实验 – 制作测试台 PID Control Experiment – Making the Testing Rig PID (Proportional, Integral, Derivative) control is a classic control algorithm that I have used for a few projects,…

Debug-018-elementUI-el-tree中通过CSS隐藏任意一项的选择框checkbox

前情提要&#xff1a; 我们项目中使用的是elementUI&#xff0c;业务中经常需要使用到el-tree组件去实现一些有层级关系的功能。现在有一个需求描述一下&#xff1a;首先是这个el-tree是个有checkbox的树&#xff0c;每一子节点都可以被选择&#xff0c;用于去实现一些系统的权…

Shell编程之正则表达式与文本三剑客

目录 一、正则表达式 1.引言--什么是正则表达式 1.1正则表达式的功能 2.基础正则表达式&#xff08;BRE&#xff09; 2.1特殊字符 2.2定位符 2.3非打印字符 3.扩展正则表达式(ERE) 4.元字符操作的案列 二、命令小工具 1.cut&#xff1a;列截取工具 2.sort排序 …

vue3获取、设置元素高度

前言 在web端常见的需求场景中&#xff0c;会经常遇到table表格需要根据页面可视区域使高度自适应的情况。 傻喵(作者本人)昨天在尝试使用vue3实现这个需求时&#xff0c;看了几篇网上写的回答&#xff0c;都不太全面&#xff0c;所以干脆自己写个总结吧.(第一次写&#xff0c…

深入探讨 I/O 多路复用:提升系统 I/O 效率的关键技术

摘要 I/O&#xff08;输入/输出&#xff09;操作是计算机系统中不可或缺的一部分&#xff0c;而 I/O 多路复用技术则是提高系统 I/O 效率的重要手段。本文将浅谈 I/O 的基本概念&#xff0c;重点探讨 I/O 多路复用技术的原理、优势以及在现代系统中的应用。 引言 在现代计算…

php收银系统源码-收银员操作权限

收银系统是很多门店&#xff0c;尤其是连锁门店营业的必备工具&#xff0c;收银员每天需要通过收银系统记录商品的售卖数量&#xff0c;以及收款&#xff0c;会员开卡&#xff0c;核销订单等工作。但很多门店都不希望给收银员太高的权限&#xff0c;自然就离不开收银员的权限管…

flask开启调试模式,热部署

这里写自定义目录标题 功能快捷键 什么是热部署&#xff1f;简单说就是你程序改了&#xff0c;现在要重新启动服务器&#xff0c;嫌麻烦&#xff1f;不用重启&#xff0c;服务器会自己悄悄的把更新后的程序给重新加载一遍&#xff0c;这就是热部署&#xff08;抄的&#xff09;…

NameSilo域名注册和解析2024版教程(附优惠码)

上次给大家介绍了国外知名的域名注册商Dynadot&#xff0c;今天再给大家分享另一家国外知名的域名注册商NameSilo&#xff0c;同样性价比很高。使用本站提供的优惠码&#xff1a;ieearn.com&#xff0c;你还可以在首次注册购买域名时享受1美元的优惠&#xff1a; NameSilo简介…

10 VUE Element

文章目录 VUE1、概述2、快速入门3、Vue 指令4、生命周期5、案例 Elemant1、快速入门2、Element 布局3、常用组件-案例 VUE 1、概述 Vue 是一套前端框架&#xff0c;免除原生JavaScript中的DOM操作&#xff0c;简化书写基于MVVM(Model-View-ViewModel)思想&#xff0c;实现数据…

AI机器人本地免费部署(部署Llama 3.1详细教程)

昨日&#xff0c;Meta公司发布了人工智能模型——Llama 3.1。 那么Llama 3.1 405B的效果怎么样&#xff1f;我们来对比一张图&#xff0c;横向对比一下GPT-4。 可以看出&#xff0c;Llama 3.1 405B在各类任务中的表现可以与GPT-4等顶级的模型相差无几。 那么&#xff0c;我们…

4G新型智能电表是什么?

4G新型智能电表是一种利用第四代移动通信技术(4G)进行数据传输的先进计量设备。它不仅具备传统电表的基本功能&#xff0c;如电量计量&#xff0c;还能实现远程抄表、用电监控、故障检测等多种智能化服务。本文旨在详细介绍4G新型智能电表的技术特点、优势及应用场景。 一、4G…

【C++刷题】优选算法——队列+宽搜

N 叉树的层序遍历 vector<vector<int>> levelOrder(Node* root) {vector<vector<int>> ret;if (root nullptr) return ret;queue<Node*> q;q.push(root);ret.push_back({root->val});int size 1;while (!q.empty()) {vector<int> v…