首页 > 其他分享 >cpp_9【用指针在更改主函数中的变量值】

cpp_9【用指针在更改主函数中的变量值】

时间:2024-11-07 21:14:58浏览次数:6  
标签:lf 变量 double 变量值 larger number printf cpp 指针

5. 编写并测试一个函数 larger_of() ,该函数把两个 double 类型变量的值替换为较大的值。例如, larger_of(x, y) 会把 x 和 y 中较大的值重新赋给两个变量。

#include<stdio.h>

void larger_of(double *x,double *y){
	
	if(*x>*y){
		
		*y=*x;
		
	}
	
	else if(*y>*x){
		
		*x=*y;
		
	}
	
}

int main(){
	
	double x,y;
	printf("Enter tow values of double number:");
	scanf("%lf %lf",&x,&y);
	larger_of(&x,&y);
	printf("%lf %lf",x,y);
	return 0;
	
}
6. 编写并测试一个函数,该函数以 3 个 double 变量的地址作为参数, 把最小值放入第1 个变量,中间值放入第 2 个变量,最大值放入第 3 个变量。
#include<stdio.h>

void f(double *a,double *b,double *c);

int main(){
	
	double a,b,c;
    printf("Enter three values of double number:");
    scanf("%lf %lf %lf",&a,&b,&c);
    f(&a,&b,&c);
    printf("The smallest number:%lf \nthe number in the middle:%lf \nthe biggest number:%lf",a,b,c);
    return 0;
	
}

void f(double *a,double *b,double *c){
	
	double temp;
	if(*a<*b){
		
		if(*c<*a){
			
			temp=*a;
			*a=*c;
			*c=*b;
			*b=temp;
			
		}
		
		else if(*a<*c&&*c<*b){
			
			temp=*c;
			*c=*b;
			*b=temp;
			
		}
		
	}
	
	else if(*b<*a){
		
		if(*c<*b){
			
			temp=*c;
			*c=*a;
			*a=temp;
			
		}
		
		else if(*a<*c){
			
			temp=*b;
			*b=*a;
			*a=temp;
			
		}
		
		else if(*b<*c&&*c<*a){
			
			temp=*a;
			*a=*b;
			*b=*c;
			*c=temp;
			
		}
		
	}
		
}

标签:lf,变量,double,变量值,larger,number,printf,cpp,指针
From: https://blog.csdn.net/2403_87560502/article/details/143467471

相关文章

  • 算法每日双题精讲——双指针(移动零,复写零)
    ......
  • 双指针算法篇——一快一慢须臾之间解决问题的飘逸与灵动(3)
    前言:本篇来到双指针算法介绍的最终篇,该文将通过三个同类型但难度逐渐累增的题目,再次强化对双指针算法的理解和运用。 相关题目及讲解一.两数之和题目链接:LCR179.查找总价格为目标值的两个商品-力扣(LeetCode)题目分析:1.该题要求较为简单,只需要在数组中查找两个和......
  • 指针知识点笔记总结
    字符指针变量 intmain(){//charch='h';//*p=&ch;//*p='a';charch="abcded";//这里的赋值是将字符串中首字符的地址赋值给pchar*p=&chreturn0;}这里的“abcdef”是常量字符串,常量字符串不能被修改intmain(){constchar*pa="hello,ever......
  • c文件和cpp文件区别
    .c和.cpp文件的主要区别在于它们对应的编程语言不同,.c文件通常用于C语言,而.cpp文件用于C++语言。虽然C和C++有许多相似之处,但它们之间也有显著的差异:语言特性:.c文件使用的是C语言,C是一种过程式编程语言,注重过程和步骤。.cpp文件使用的是C++语言,C++是一种面向对象编程语言,支......
  • C++智能指针
    C++智能指针以引用计数为基础的智能指针,引用计数的管理逻辑如下:除了初始化对象本身外,每个构造函数(拷贝构造函数除外)还要在堆上创建一个引用计数,用来记录有多少个对象共享状态。当我们创建一个对象时,只有一个对象共享状态,因此将引用计数初始化为1;拷贝构造函数不分配新的计数器......
  • JVM指针压缩实现原理
    JVM指针压缩实现原理  概要  Java中的指针压缩(PointerCompression)是一个与内存管理相关的优化技术,主要应用于JVM的对象引用(即指针)的存储方式。指针压缩的目标是减少对象引用占用的内存空间,从而提高内存利用效率,特别是在64位系统上。  一、对象的内存布局  ......
  • 【算法】【优选算法】双指针(下)
    目录一、611.有效三⻆形的个数1.1左右指针解法1.2暴力解法二、LCR179.查找总价格为目标值的两个商品2.1左右指针解法2.2暴力解法三、15.三数之和3.1左右指针解法3.2暴力解法四、18.四数之和4.1左右指针解法4.2暴力解法一、611.有效三⻆形的个数题目链......
  • 初识AI大模型,ollama使用,llama factory大模型微调,lama.cpp模型转换guff
    最近了解了下生成式AI对话,下面是自己的一些尝试记录。ollama安装及使用1、安装我是在windows环境下安装的,很简单,访问:https://ollama.com/,下载windows安装包,打开安装就行了。cmd输入ollama-v检验是否安装成功。    2、配置在环境变量的......
  • 使用双指针技术去除ArrayList中的重复元素
    技术博客:使用双指针技术去除ArrayList中的重复元素在Java编程中,处理集合数据时,去除重复元素是一个常见的需求。本文将介绍如何使用双指针技术来高效地去除ArrayList中的重复元素,并通过两种不同的方法进行实现。1.问题背景假设我们有一个包含重复元素的ArrayList,例如:ArrayL......
  • 7.《双指针篇》---⑦三数之和(中等偏难)
    题目传送门 方法一:双指针1.新建一个顺序表用来返回结果。并排序数组。2.for循环i从第一个数组元素遍历到倒数第三个数。3.如果遍历过程中有值大于0的则break; 4.定义左右指针,以及target。intleft=i+1,right=n-1;inttarget=-nums[i];5.类似两数之和。......