大家好,今天小编关注到一个比较有意思的话题,就是关于c语言值位的问题,于是小编就整理了3个相关介绍c语言值位的解答,让我们一起看看吧。
用C语言,任意输入10个数,求其中的最大值和最小值,并显示位置?
思路:定义一个变量,并键盘输入一个数赋值给该变量,且把该数赋值给最大值和最小数。
接着for循环输出剩下9个数,并该数和最大值最小值的大小关系,更新最大值和最小值,最后输出最大值和最小值。 参考代码:
#include?"stdio.h" int?main() { int?a,max,min,i; scanf("%d",&a); max=min=a; for(i=1;i<10;i++){ scanf("%d",&a)
; if(max<a)?max=a; if(min>a)?min=a; } printf("最大值为:%d,最小值为:%d\n",max,min);??????? } /* 运行结果: 8?7?3?4?1?9?2?0?5?6 最大值为:9,最小值为:0 */
C语言,利用指针实现求数组元素中的最大值和最小值?
可以通过定义一个指针变量来求数组元素中的最大值与最小值。具体实现方法可以参考如下程序:#include<stdio.h>void main(){ double a[] = {3, 4.
2, 4, 5.
3,
1, 0.
4, 5}; double *max=(double *)malloc(sizeof(double)); // 最大值指针 double *min=(double *)malloc(sizeof(double)); // 最小值指针 int i; *max = a[0]; // 初始化最大值 *min = a[0]; // 初始化最小值 for(i=1; i<7; i++) // 7表示数组a的长度 { if(*max<a[i]) *max = a[i]; // 保存最大值 if(*min>a[i]) *min = a[i]; // 保存最小值 }}
C语言中的函数为什么只能有一个返回值输出?怎么实现多个值输出?
C语言的函数还真的只能有一个值返回,因为大部分情况下,我们不需要返回多个值,C语言规范中为了尽量避免程序设计的难度,就没有考虑函数的多个值的返回情况。即使有返回多个值的需求,也可以通过其它方式实现。我总结一下,大概有四种方式
一. 传参数
通过指针或引用的方式可以在函数中改变传入参数的值,例如在做两个数的交换时,如果用指针方式,可以像下面这样写
如果采用引用的方式,稍微改一下就好了,如下
这样a和b其实可以看成是要返回的两个值,这种通过指针和引用的方式一般是用得最多的多值返回方式。
二. 返回元组
当然我们可以以数组的形式值返回,即使类型不一样也没有关系,比如要返回三种类型的值,都将它们存入到一个string类型的数组里面,将每一个类型的值当成字符串存入,在使用时解析并转化一下类型就好了。
其实在C++11中就有tuple可以满足这个需求了,tuple中可以放不同类型的元素,并且在使用时也有对应方法获取变量值。例如
到此,以上就是小编对于c语言值位的问题就介绍到这了,希望介绍关于c语言值位的3点解答对大家有用。