GDPU C语言 天码行空9

news2024/10/5 5:15:05

填空题

1. 指针+排序 +数组在这里插入图片描述

输入

n=5
30 85 12 77 6

输出

6 12 30 77 85 

🤠 代码

#include<stdio.h>

#define N 10

void sort(int *x,int n)// *x 是 数组 a 的地址
{
    int i,j,k,t;

    for(i=0;i<n-1;i++)//从前往后枚举 坑位
    {
        k=i;      
        for(j=i+1;j<n;j++)    
            if(x[k]>x[j])//每轮找最小值放在 前边的坑位 里边        
                k=j;

        t=x[i],x[i]=x[k],x[k]=t;// 交换
    }
}

int main()
{
    int a[N],n,*p;

    scanf("n=%d",&n);              

    for(p=a;p<a+n;p++)//数组名 是 首元素地址,数组元素在内存中的地址是连续的
        scanf("%d",p); 

    sort(a,n);

    for(p=a;p<a+n;p++)
        printf("%d ",*p);
        
    printf("\n");

    return 0;
}
#include<stdio.h>

#define N 10

void sort(int *x,int n)// *x 是 数组 a 的地址
{
    int i,j,k,t;

    for(i=0;i<n-1;i++)//从前往后枚举 坑位
    {
        k=i;      
        for(j=i+1;j<n;j++)    
            if(x[k]>x[j])//每轮找最小值放在 前边的坑位 里边        
                k=j;

        t=x[i],x[i]=x[k],x[k]=t;// 交换
    }
}

int main()
{
    int a[N],n,*p;

    scanf("n=%d",&n);              

    for(p=a;p<a+n;p++)//数组名 是 首元素地址,数组元素在内存中的地址是连续的
        scanf("%d",p); 

    sort(a,n);

    for(p=a;p<a+n;p++)
        printf("%d ",*p);
        
    printf("\n");

    return 0;
}

2. 指针+字符型转整型

在这里插入图片描述

输入

http://99shufu.123love55

输入

  99  123  55

⭐ 注意数据类型
⭐ 源代码

#include <stdio.h>

int getdig(char *p, int *q)
{
	int i = 0;//记录数字的个数,并作为返回值返回
	for(; *p != '\0'; p++)
	if(*p >= '0' && *p <= '9')
	{
		*q = *p-'0';//字符型转整型
		p++;
		while(*p != '\0' && (*p >= '0' && *p <= '9'))
			*q = *q * 10 + (*p++ -'0');//字符数组指针后移
		i++;//数字数量 ++
		q++;//数字数组指针后移一位
	}
	return i;   
}

int main()
{
	char str[100], *p = str;
	int a[100], *q = a, count = 0;
	gets(p);
	count = getdig(p, q);;
	for(q = a; q < a + count; q++)
		printf("%4d", *q);
}

编程题

1. 字符删除问题

在这里插入图片描述


⭐ 注意输入输出格式问题

#include <stdio.h>

#define N 100000

int main()
{
	char a[N],*i,x;

	//gets(a);//gets 读字符串会吃掉回车
	scanf("%s\n", &a);//scanf不会把 enter (回车)吃掉,将会影响下一次读入

	scanf("%c", &x);
	printf("After delete:\n");
	for(i = a; *i != '\0'; i++)
	{
		if(x != *i)
			printf("%c", *i);
	}
	return 0;
}

代码片段

1. 递归函数计算x的n次方

在这里插入图片描述
⭐ 递归出口是 0 次方

#include "stdio.h"

/*
//复习一下快速幂
double power(double x, int n) //
{
	double res = 1.0;
	while(n){
		if(n & 1)
			res *= x;
		x *= x;
		n >>= 1;
	}
	return res;
}
*/

double power(double x, int n) //
{
	// 递归出口
	if(n == 0)
		return 1;

	return x*power(x, n - 1);//第n个x 乘于 x的(n-1)次方 == x的n次方
}

int main()
{
	double x, a;
	int n;
	scanf("%lf,%d", &x, &n);
	a = power(x, n);
	printf("a=%f\n", a);
	return 0;
}

2. 递归方法求Fibonacci数列第n项

在这里插入图片描述


⭐ 递归出口:斐波那契第一第二项为 1

#include "stdio.h"
int fib(int n)
{
	if(n == 1 || n == 2)
		return 1;
	return fib(n - 1) + fib(n - 2);
}

int main()
{
	int n;
	scanf("%d", &n);
	printf("NO%d=%d\n", n, fib(n));
	return 0;
}

3. 递归实现十进制转二进制

在这里插入图片描述


⭐ 先向下递归再输出

#include "stdio.h"
void dec2bin(int n)
{
	if(n == 0)//递归出口
		return;
	int x = n % 2;
	dec2bin(n / 2);
	printf("%d", x);
}

int main()
{
	int n;
	scanf("%d", &n);
	dec2bin(n);
	printf("\n");
	return 0;
}

4. 数组元素循环移位问题(左移)

在这里插入图片描述


⭐ 数组传参传的 是 地址

#include "stdio.h"
#define N 10
void cycle(int s[], int n, int count);//n表示数组长度,count表示移动的位置数
int main()
{
	int i, n, s[N] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
	scanf("%d", &n);//移动的位数
	printf("Before:\n");
	for(i = 0; i<N; i++)
		printf("%4d", s[i]);

	cycle(s, N, n);

	printf("\nAfter:\n");
	for(i = 0; i<N; i++)
		printf("%4d", s[i]);
	printf("\n");
	return 0;
}
void cycle(int s[], int n, int count)
{
	if(count == 0)
		return;
	int t = s[0],i;
	for(i = 0; i < n-1; i++)
	{
		s[i] = s[i + 1];
	}
	s[n-1] = t;
	cycle(s, n, count - 1);
}

5. 实数拆分问题

在这里插入图片描述
在这里插入图片描述


⭐ 引用传递

#include "stdio.h"
void splitfloat(double x, int *intpart, double *fracpart);
int main()
{
	double a, fracpart;
	int intpart;
	scanf("%lf", &a);
	splitfloat(a, &intpart, &fracpart);//传地址

	printf("INT:%d\nFRAC:%lf\n", intpart, fracpart);
	return 0;
}
void splitfloat(double x, int *intpart, double *fracpart)
{
	*intpart = (int)x;//浮点型 强转成 整型 向下取整(丢弃浮点数)
	*fracpart = x - (double)*intpart;
}

6. 递归方法计算关于x的多项式的和

在这里插入图片描述
⭐ 递归出口 + 找规律

#include "stdio.h"
double f(double x, int n)
{
	if(n == 1)//递归出口
		return x;
	int flag = 1;// flag 记录当前项的正负
	if(n % 2 == 0)
		flag = -1;
	return flag * pow(x, n) + f(x, n - 1);
}

int main()
{
	double x, a;
	int n;
	scanf("%lf,%d", &x, &n);
	a = f(x, n);
	printf("a=%f\n", a);
	return 0;
}

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

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

相关文章

计算机网络 实验五

⭐计网实验专栏&#xff0c;欢迎订阅与关注&#xff01; ★观前提示&#xff1a;本篇内容为计算机网络实验。内容可能会不符合每个人实验的要求&#xff0c;因此以下内容建议仅做思路参考。 一、实验目的 理解DNS的域名解析机制&#xff0c;理解DHCP的工作机制熟悉WEB应用及超…

逍遥自在学C语言 | 位运算符>>的高级用法

前言 在上一篇文章中&#xff0c;我们介绍了<<运算符的高级用法&#xff0c;本篇文章&#xff0c;我们将介绍>> 运算符的一些高级用法。 一、人物简介 第一位闪亮登场&#xff0c;有请今后会一直教我们C语言的老师 —— 自在。 第二位上场的是和我们一起学习的小…

HCIP-6.8BGP的团体属性、BGP联盟

BGP的团体属性、BGP联盟1、Community:团体属性1.1、案例配置2、BGP联盟属性2.1、配置案例&#xff1a;2.2、四种类型的AS_PATH&#xff1a;对于大型网络或者路由条目较多&#xff0c;使用一种BGP特有的路由标记&#xff0c;用于简化路由策略的执行。对于减少路由条目&#xff0…

unity,制作一个环状滑动条

介绍 unity&#xff0c;制作一个环状滑动条 方法 1.导入png图片素材2.新建一个滑动条&#xff0c;两者图片都设置为图片3.调节slider的参数4.调节backgroud的参数5.fill area、fill的参数同上。 得到两个叠加的圆环。6.设置fill的背景颜色为红色7.设置fill填充方式&#xff0…

【C++】容器适配器之priority_queue 仿函数

一、priority_queue 的介绍和使用 1.priority_queue 的介绍 我们和学习之前的容器一样&#xff0c;可以使用cplusplus官网进行学习&#xff1a;priority_queue文档介绍 priority_queue(优先级队列)是一种容器适配器&#xff0c;它 和queue使用同一个头文件&#xff0c;其底层…

Elastic(ELK) Stack 架构师成长路径

Elastic Stack&#xff08;ELK Stack&#xff09;是一个开源的日志分析平台&#xff0c;由 Elasticsearch、Logstash 和 Kibana 三个组件组成&#xff0c;主要用于数据搜索、分析和可视化。要成为一名 ELK Stack 架构师&#xff0c;需要遵循一定的成长路径&#xff0c;以便逐步…

详解HiveSQL执行计划

一、前言 Hive SQL的执行计划描述SQL实际执行的整体轮廓&#xff0c;通过执行计划能了解SQL程序在转换成相应计算引擎的执行逻辑&#xff0c;掌握了执行逻辑也就能更好地把握程序出现的瓶颈点&#xff0c;从而能够实现更有针对性的优化。此外还能帮助开发者识别看似等价的SQL其…

【计算机组成原理】计算机组成原理(三)

计算机组成原理&#xff08;三) 奇偶校验码&#xff1a; 校验原理&#xff1a; 2个比特位可以映射出4种合法的情况 2的2次方 3个比特位可以映射出8种不同的情况&#xff0c;其中4种为合法情况&#xff0c;另外4种为非法情况 上图的每个编码都是一个码字 在同一组码字内&am…

【DES详解】(一)处理input block(64 bits)

一、DES 加密算法总览 0-1、初识置换 IP&#xff08;Initial Permutation&#xff09; 输入&#xff1a;明文&#xff08;64 bits&#xff09; 过程&#xff1a;初识置换 输出&#xff1a;处理后的明文permuted input&#xff08;64 bits&#xff09; 首先&#xff0c;对需要解…

手写一个IO泄露监测框架

作者&#xff1a;长安皈故里 大家好&#xff0c;最近由于项目原因&#xff0c;对IO资源泄漏的监测进行了一番调研深入了解&#xff0c;发现IO泄漏监测框架实现成本比较低&#xff0c;效果很显著&#xff1b;同时由于IO监测涉及到反射&#xff0c;还了解到了通过一种巧妙的方式实…

AEC-Q认证介绍及所有最新工程文件下载

AEC-Q认证介绍及所有最新文件&#xff08;英文版&#xff09;下载 注意&#xff1a; 更多交流及资料请加V&#xff1a;john-130 AEC-Q认证介绍 1&#xff0c;AEC-Q认证总体情况介绍 &#xff08;​1&#xff09;AEC&#xff08;Automotive Electronics Council&#xff09;…

图像分类:Pytorch图像分类之-- MobileNet系列模型

文章目录前言MobileNetV1模型介绍DW&#xff08;Depthwise Convolution&#xff09;卷积PW &#xff08;Pointwise Convolution&#xff09;卷积深度可分离卷积&#xff08;DWPW&#xff09;ReLU6激活函数的介绍MobileNet V1网络结构MobileNet V1程序MobileNetV2模型介绍Invert…

链接、包管理工具、polyrepo、monorepo以及Lerna 工具的使用

nodejs 链接、包管理工具、多包管理以及Lerna 工具的使用jcLee95&#xff1a;https://blog.csdn.net/qq_28550263?spm1001.2101.3001.5343 邮箱 &#xff1a;291148484163.com 本文地址&#xff1a;https://blog.csdn.net/qq_28550263/article/details/129903902 目 录1. 概述…

bjdctf_2020_babyrop2-fmt-leak canary

1,三连 分析:开了canary&#xff0c;先想办法获取canary值。 2&#xff0c;IDA静态分析&#xff0c;查看可以泄露canary的地方&#xff0c;否则只能爆破了 发现可以格式化字符串函数泄露的地方&#xff1a; 栈帧结构&#xff1a; 高地址 -------------- gift_ret栈帧 ------…

【算法宇宙——在故事中学算法】背包dp之01背包问题

唯手熟尔方成艺&#xff0c;唯读书能致卓越。勤学苦练方可成&#xff0c;路漫漫其修远兮&#xff01; 文章目录前言正文故事总结前言 尽管计算机是门严谨的学科&#xff0c;但正因为严谨&#xff0c;所以要有趣味才能看得下去。在笔者的前几篇算法类文章中&#xff0c;都采用了…

智慧公厕系统的应用示例

近几年&#xff0c;在一些高速服务区或者一些城市的公共厕所当中&#xff0c;总会看见一些富有科技感的硬件&#xff0c;比如厕位有无人指示灯、厕所除臭杀菌机、智能取纸机、智能洗手台镜面广告机等。现在在衡量城市发展的过程中&#xff0c;总会以城市的建设&#xff0c;城市…

Weblogic远程代码执行漏洞 CVE-2023-21839

漏洞简介 WebLogic Core远程代码执行漏洞&#xff08;CVE-2023-21839&#xff09;&#xff0c;该漏洞允许未经身份验证的远程攻击者通过T3/IIOP协议进行 JNDI lookup 操作&#xff0c;破坏易受攻击的WebLogic服务器&#xff0c;成功利用此漏洞可能导致Oracle WebLogic服务器被接…

MySQL可重复读事务隔离具体是怎么实现的

事务的启动会有的操作 事务的隔离等级有四种&#xff0c;现在说默认的可重复读&#xff0c;可重复读就是一个事务执行过程中看到的数据&#xff0c;总是跟这个事务在启动时看到的数据是一致的。当然在可重复读隔离级别下&#xff0c;未提交变更对其他事务也是不可见的。 可重复…

Java阶段一Day22

Java阶段一Day22 文章目录Java阶段一Day22线程安全synchronized教师总结新单词多线程多线程并发安全问题概念例synchronized关键字同步方法同步块在静态方法上使用synchronized互斥锁总结重点:多线程并发安全问题聊天室(续)实现服务端发送消息给客户端服务端转发消息给所有客户…

内网穿透实现在外远程连接RabbitMQ服务

文章目录前言1.安装erlang 语言2.安装rabbitMQ3. 内网穿透3.1 安装cpolar内网穿透(支持一键自动安装脚本)3.2 创建HTTP隧道4. 公网远程连接5.固定公网TCP地址5.1 保留一个固定的公网TCP端口地址5.2 配置固定公网TCP端口地址转载自远控源码文章&#xff1a;无公网IP&#xff0c;…