精华内容
下载资源
问答
  • 个数比较大小C语言经典题目

    万次阅读 多人点赞 2017-03-29 20:57:40
    以上三种方法均可以比较出三个数的最大值,区别在于例子中的方法是使用的赋值语句,而替代方法1是运用的标准条件运算,后面的替代方法2则是以赋值语句为主的两重(条件运算的)嵌套。 补充:替代方法2不能写成max =...

    这道题是每一位初学C的小伙伴们的必经之路,其经典性简直如同Hello World!

    下面写一下几种不同的解法。


    • 使用if语句
    #include<stdio.h>
    
    int main()
    {
    	int a, b, c, max;//逗号,(大/中/普通)括号,右端需有空白字符
    	
    	scanf("%d%d%d", &a, &b, &c);
    	
    	if( a>b)    max = a;//为了代码可视性高,操作符需被空白字符包围
    	else        max = b;
    	if( c>max)  max = c;
    	
    	printf("max=%d", max);
    	
    	return 0;
    }
    

    • 使用三目运算符

    ?:条件运算符,使用方法是<表达式1> ?<表达式2> :<表达式3>,意思是满足表达式1就执行表达式2,否则执行表达式3。

    #include<stdio.h>
    
    int main()
    {
    	int a, b, c, max;
    	
    	scanf("%d%d%d", &a, &b, &c);
    	
    	max = a>b ? a:b;
    	max = c>max ? c:max;
    	
    	printf("max=%d", max);
    	
    	return 0;
    }
    
    • a>b ? (max = a) : (max = b); c>max ? (max = c) : max ;

    • max = ( (a>b ? a:b) > c) ? (a>b ? a:b) : c;

    以上三种方法均可以比较出三个数的最大值,区别在于例子中的方法是使用的赋值语句,而替代方法1是运用的标准条件运算,后面的替代方法2则是以赋值语句为主的两重(条件运算的)嵌套。

    补充:替代方法2不能写成max = ( (a>b?a:b) > c ) ? ():c;
    因为在三目运算符?的前置条件中(a>b?a:b)的运算结果是没有分配储存地址的,只是开辟了临时地址(理解成缓存也行,程序结束便清空),这就导致后面的()根本无法从前面取得值,所以得再写一次表达式。


    • 使用max函数 + if语句
    #include<stdio.h>
    
    int main()
    {
    	int a, b, c, max;
    	int Max( int x, int y, int z);//声明自定义函数Max
    	
    	scanf("%d%d%d", &a, &b, &c);
    	
    	max = Max( a,b,c);
    	
    	printf("max=%d", max);
    	return 0;
    }
    
    int Max(int x, int y, int z)
    {
    	int max;//不同的函数中可以使用同名(局部)变量
    	
    	if( x>y)    max = x;
    	else        max = y;
    	if( z>max)  max = z;
    	
    	return max;
    }
    
    • 使用max函数 + 三目运算符
    #include<stdio.h>
    
    int main()
    {
    	int a, b, c;
    	int Max( int x, int y);
    	
    	scanf("%d%d%d", &a, &b, &c);
    	printf("max=%d", Max(Max(a,b),c) );//调用两重Max函数嵌套
    	
    	return 0;
    }
    
    int Max(int x, int y)
    {
    	return x>y?x:y;
    }
    

    其中printf语句里的两重函数嵌套不能写成Max( (a,b) ,c),因为这个(a,b)并不符合自定义Max函数的传参要求。

    自定义Max函数int Max(int x, int y)的形参为整型变量int x, int y,所以在调用Max函数时,需要传入符合定义要求的int型参数,那么显然这个(a,b)并不是int型参数,它是一个不属于任何类型的不完整表达式,其没有实际意义。

    不过,两重Max函数嵌套写成Max( Max(a,b) ,c)是符合要求的,因为Max(a,b)的函数返回值符合int x的传参要求,究其原因是其内部return语句中返回的x>y?x:y是一个int型值。


    • 使用指针
    #include<stdio.h>
    
    int main()
    {
    	int a, b, c;
    	int Max( int x, int y);
    	int (*p)(int, int) = &Max;//对指针p赋初值为Max的地址,&可省略
    	
    	scanf("%d%d%d", &a, &b, &c);
    	printf("max=%d", p(p(a,b) ,c) );
    	
    	return 0;
    }
    
    int Max(int x, int y)
    {
    	return x>y?x:y;
    }
    

    这个有关于数字比较之类的问题,在C语言中是非常经典的一块,于是写了几种方法来开拓一下自己思路。也希望可以通过对这个题目的不同解法,来为之后像回溯和指针之类的知识稍微做一下铺垫,嘿,大家一起来感受一下。

    总之,我觉得吧,像这种O(1)的小小代码片儿,要是闲的没事儿或闲情所致,那还是可以追求一下更多的不同解答方法啦。^ _ ^

    展开全文
  • 个数比较大小-C语言

    千次阅读 2020-11-30 10:30:18
    三个整数比较大小——C语言C语言】 代码如下: //初学小白一枚,如有不足之处,还望各位大佬多多指教 #include<stdio.h> //调用头文件 int main() { ... //把数值大的那一个数给a if(a&l

    三个整数比较大小——C语言

    【C语言】
    代码如下:

    //初学小白一枚,如有不足之处,还望各位大佬多多指教
    #include<stdio.h>	//标准输入输出头文件
    int main()	//主函数
    {
    	int a,b,c;	//输入三个整数
    	printf("请输入三个整数:%\n");	//每次输入以Enter键结束
    	scanf("%d%d%d",&a,&b,&c);	//输入变量
    		if(a<b)		//比较大小
    			a=b;	//把数值大的那一个数给a
    		if(a<c)		//比较大小
    			a=c;	//把数值大的那一个数给a
    		printf("最大值为:%d\n",a);	//输出结果
    		return 0;	//函数正常退出
    }
    

    运行结果:

    请输入三个整数:
    4
    5
    6
    最大值为:6
    Press any key to continue
    
    展开全文
  • //两次比较比较简单。 /*#include <stdio.h> int main(void) { int a,b; printf("请输入两实数:\n");...//一次比较 ,一次交换,为了实现互换,必须借助于第3变量。 #include<stdio.h&g
    //两次比较,比较简单。 
    /*#include <stdio.h>
    int main(void)
    {
    int a,b;
    printf("请输入两个实数:\n");
    scanf("%d%d",&a,&b);
    if(a>b)
    {
    	printf("%d,%d",b,a);
    } 
    else
    printf("%d,%d",a,b);
    return 0;
    }
    
    
    
    
    
    
    //一次比较 ,一次交换,为了实现互换,必须借助于第3个变量。
    
    
    
    #include<stdio.h>
    int main (void)
    {
    int a,b,t;
    printf("请输入两个实数:\n");
    scanf("%d%d",&a,&b);
    if(a>b)
    {
    	t=a;
    	a=b;
    	b=t;
    } 
    	printf("%d,%d",a,b);
    	return 0;
    }
    
    
    
    
    //三个数比较大小
    
    #include<stdio.h>
    int main (void)
    {
    int a,b,c,t;
    printf("请输入三个实数:\n");
    scanf("%d%d%d",&a,&b,&c);
    if(a>b)
    {
    	t=a;
    	a=b;
    	b=t;
    } 
    if(a>c)
    {
    	t=a;
    	a=c;
    	c=t;
    } 
    if(b>c)
    {
    	t=b;
    	b=c;
    	c=t;
    } 
    printf("%d,%d,%d",a,b,c);
    return 0;
    
    }
    
    展开全文
  • Q1:C语言 判断一输入得子是几位#includeint is_digit(long long a){int sum=0;while(a){sum++;a/=10;}printf("该的位数为:%d\n",sum);return 0;}int main(){long long a;scanf("%lld",&a);printf("您...

    Q1:C语言 判断一个输入得数子是几位数

    #include

    int is_digit(long long a){

    int sum=0;

    while(a){

    sum++;

    a/=10;

    }

    printf("该数的位数为:%d\n",sum);

    return 0;

    }

    int main()

    {

    long long a;

    scanf("%lld",&a);

    printf("您输入的数值是:%lld\n",a);

    is_digit(a);

    }

    41231b1cdb1a1a0c9c5f225d023f598a.png

    扩展资料:

    c语言需要说明的是:

    1.一个C语言源程序可以由一个或多个源文件组成。

    2.每个源文件可由一个或多个函数组成。

    3.一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。是整个程序的入口。

    4.源程序中可以有预处理命令(包括include 命令,ifdef、ifndef命令、define命令),预处理命令通常应放在源文件或源程序的最前面。

    5.每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。结构体、联合体、枚举型的声明的“}”后要加“ ;”。

    6.标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。

    百度百科-c语言

    展开全文
  • 这是2013年09月27日上午10点半写的。上简单的三题目:1. 用C语言运行出:************************************Hello,World !!************************...(二)自己定义一maxin3的函数,写出判断三整数大小...
  • 这个题简单,也有很多的方法,在这里我想用数学的方法解决排序问题。...整体的思路为输入三个数后,我们从中取两个数,在这两个数中选出最大的后将最大的数与第三个数做差比较这里请参考代码理解;代码:#inc...
  • 1.C语言中两宏进行大小对比,其中一没有定义,这种行为如何定义呢?在学习U-boot的过程中遇到这么一定义:# if (CONFIG_ENV_ADDR >= CONFIG_SYS_MONITOR_BASE) && \(CONFIG_ENV_ADDR + CONFIG_ENV_...
  • C语言个数比较大小排序

    万次阅读 多人点赞 2018-11-24 19:58:27
    #include &lt;stdio.h&gt; int main(){ int a,b,c,temp; scanf("...//用户输入三个数 if(a&gt;b){ //计较ab如果b大将b赋值给a temp=a; a=b; b=temp; } if(a&gt;c){...
  • C语言数字比较大小

    千次阅读 多人点赞 2020-09-28 23:19:08
    题目:要求将输入的任意3整数从小到大输出。 输入格式: 输入在一行中给出3整数,其间以空格分隔。 输出格式: 在一行中将3整数从小到大输出,其间以“->”相连。 输入样例: 4 2 8 输出样例: 2->4->8 ...
  • 个数大小C语言代码) 仅供初学者们学习
  • C语言个数大小

    2016-11-01 21:11:18
    C语言个数大小
  • c语言比较个数大小比较个数大小

    万次阅读 多人点赞 2020-02-09 12:09:16
    1)唯一的三目运算符(条件运算符)可以用来获得两个数中最大或最小的那个数。形式上更加简洁。 2)条件表达式的本质就是if-else。冒号:后的值就是else语句。 举例1:条件运算符的嵌套: c = ...
  • 下面小编就为大家带来一篇C语言个数排列大小的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • C语言 比较个数大小

    千次阅读 2019-10-16 10:39:30
    比较个数大小 给有需要的朋友,不过我希望朋友们理解后自己写 #include <stdio.h> #include <stdlib.h> int main() { int x,y; printf("请输入两个数进行比较"); scanf("%d%d",&x,&y); ...
  • C语言数字比较大小

    千次阅读 2015-12-27 21:04:15
    int median(int a1, int b1, int c1); int median(int a1, int b1, int c1) { int max = (a1 > b1 ? a1 : b1) > c1 ? (a1 > b1 ? a1 : b1) : c1; int min = (a1 ) (a1 )
  • 优质回答 回答者:Paksun排序数组可以使用冒泡算法:如果前一数据比后一大,则交换。#include//使用冒泡算法升序数组srcvoidsort(int*src,intlen){inttem;for(inti=0;i{for(intj=0;jif(src[j]>src[j+1])//...
  • C语言比较10数字的大小

    千次阅读 2021-01-25 08:35:03
    比较10个数字的大小 定义一个数组,使用for循环来存放输入的十个数字,再使用一个for循环来进行两个数字的大小比较,将较大值放入到max里边,再进行和下一个数值的大小比较... printf("请输入第%d个数:",a+1); scan
  • 问题描述:比较字符串的大小,并且按从小到大的顺序输出。程序分析:1.在写这程序的时候,主要是写了一swap函数,调用了标准库函数中的strcmp来实现的。2.在写swap这函数的时候将函数参数设置为两二级...
  • C语言入门——如何比较n数字的大小

    千次阅读 多人点赞 2020-10-17 20:54:06
    C语言入门——如何比较n数字的大小? 一、案例:比较数字大小案例是大部分C语言初学者经常面对的问题,相信大家都比较熟悉。假设我们输入三数字a, b, c,将这三数字从小到大排序,我们可以通过以下...
  • C语言实现3个数大小比较

    千次阅读 2020-06-05 11:43:39
    多种方法实现3个数大小比较 代码: int compare01(int a, int b, int c){ //最原始的if条件判断 if( a > b){ if( a > c){ return a; }else{ return c; } }else{ if( b > c){ ...
  • c语言比较个数大小

    万次阅读 2020-03-20 18:56:50
    #inclued<stdio.h> main() { int a = 0; int b = 0; int c = 0; scanf("%d%d%d",&a,&b,&c);//a=1b=2c=3 if(a<b) { int tmp = a; a=b; b=tmp } ...
  • C语言中四个数比较大小问题

    万次阅读 2015-04-14 11:20:32
    main() {  int a[4],i,j,s;  for(i=0;i  scanf("%d",&a[i]); /*输入四个数*/    for(i=0;i  for(j=i+1;j  if(a[i]>a[j]){  s=a[i];
  • C语言函数的调用——比较个数大小

    万次阅读 多人点赞 2018-12-06 23:41:29
    目录 一、先写好框架 二、然后定义我们需要的变量...今天我们要写的是用调用函数的方法来 比较数字的大小 我们先看看程序的运行效果 一、先写好框架 #include<stdio.h> void main() { } 二...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 268,864
精华内容 107,545
关键字:

五个数比较大小c语言

c语言 订阅