一个C语言程序的解释问题,三个数取最大值的

作者&投稿:检德 (若有异议请与网页底部的电邮联系)
C语言中求三个数最大值遇到的问题~

第二个程序
a>max?a:max=(b>c?b:c)
先执行a>max,这时max是没有赋值的,a>max的结果不确定,因此整个表达式的值不确定
第一个程序
max=a>(max=(b>c?b:c))?a:max
优先执行括号里的式子,max=(b>c?b:c) ,max为b和c中的较大者,max有了确定值,然后执行max=a>max?a:max max为a和max中较大者,所以最后max是三者中最大的

你的if else那里有问题
比如说三个数4,3 ,5,按照你写的代码的逻辑最大值将是4,而不是5
你可以把else去掉,结果应该就对了

将a赋值给max;
如果max<b,则将b赋值给max;
如果max<c,则将c赋值给max;
比如说a=3,b=4,c=5,则:
1、将a赋值给max,即max=3
2、因为(max=a=3)<(b=4),所以将b的值赋给max,即为max=4
3、因为(max=b=4)<(c=5),所以将c的值赋给max,即max=5
所以最后得出max=5
应该是这么解释的,学了很长时间都快忘光了~~

找最大值 先假定最大值是a
现在如果a<b 因为max与a同值 那么就是max<b 那就把b赋给Max
max<c也同理

随便找个来当max,然后拿max和其他的比较,比到更大的了就抓过来替换max,比完了就找到max了

将a赋值给max;
如果max<b,则将b赋值给max;
如果max<c,则将c赋值给max;
比如说a=3,b=4,c=5,则:
1、将a赋值给max,即max=3
2、因为(max=a=3)<(b=4),所以将b的值赋给max,即为max=4
3、因为(max=b=4)<(c=5),所以将c的值赋给max,即max=5
所以最后得出max=5
应该是这么解释的,学了很长时间都快忘光了~~


解释一个C语言程序
第一个程序:首先整型变量int后应有一个空格即int a=1……运行过程:首先定义整形变量a,b,c,并使值为1,b值为4,c值为2,然后定义float型变量x,y,z,并使x值为10,y值为2.0,z不赋值。然后进行计算,算式整体可由加号分为三部分,第一部分是(a+b)\/c 明白吧,不用说。第二部分是sqr...

什么是C语言程序设计.
C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统...

C语言:写出程序运行结果并解释为什么
int a,b,c;float d=15,e,f;a=35%7; \/\/余数是0 ,所以a是0 b=15\/10; \/\/整数除法不要小数部分,所以 b是1 c=b++; \/\/后置++做完之后 c是 1 ,b是2 e=15\/10; \/\/虽然e是浮点数,但是赋值在后,所以e是1.0,不是1.5 f=d\/10; \/\/因为d是浮点数,所以做了实数...

C语言:写出程序运行结果并解释为什么
include <stdio.h>#include <stdlib.h>int main(){int a,b,c;float d=15,e,f;a=35%7;\/\/\/0 35除以7 余数是0b=15\/10;\/\/int类型计算结果舍弃小数部分 结果是 1c=b++;\/\/ 先使用b的值b在+1 c=1 b=2e=15\/10;\/\/ 1.000,因为15 和 10 都是int类型 计算结果是int ...

C语言程序解释
void read_file(); \/*声明一个读文件*\/ void write_file(); \/*声明一个写文件*\/ void add_student(); \/*声明一个增加学生信息*\/ void delete_student(); \/*声明一个删除学生信息*\/ void change_student(); \/*声明一个修改学生文件信息*\/ void find_number(); \/*声明...

想请大神解释一下一个C语言程序的函数语句?
define是宏定义语法,相当于现实生活中的起昵称。define N 10 就是给10这个数字起了一个昵称,叫做N 以后的代码中,遇到N的地方,其实就是10,编译器会在编译之前,将N都给一模一样的替换成10。sort函数是进行前后顺序颠倒的,for循环有三个部分。第一个部分是初始化,也就是将q指向p + N -1的...

求解释一个C语言程序
则选择范围是 x + 1 到 m }}int main(){ scanf("%d %d", &m, &n); \/\/ 输入两个数 m, n DFS(0, 0); \/\/ 第一个是 选出个数, return 0;}解释下哦:比如 m = 3, n = 2;首先调用 DFS(0, 0) 需要第 0 个数,选择范围从 0 + 1 到 m(3),然后进入...

这是个统计单词的C语言程序,谁来解释下,这个程序看了半天没看懂,有谁帮...
一种是程序刚开始word=0,另一种是if(c==' '),也就是遇到空格的时候所以当你遇到不是空格,并且word==0时,是不是说明,遇到一个新的单词了,那么word=1说明进入到一个单词,计数,num++。举个例子,比如输入是hello my friend当遇到第一个字符,也就是h的时候,word肯定等于0,因为程序一...

C语言编程,写一个函数,使输入的一个字符串按反序存放,在主函数中输入和...
int str(char a[20],char b[20])\/\/定义两个字符型数组 { int i,j,k;j=strlen(a);\/\/测试字符串长度;i=0;k=j-1;while(i<j){ b[k]=a;\/\/互换值;i++;k--;} return 0;} int main(){ char c[20];char d[20];int i,l;\/\/gets(c);\/\/输入字符串;scanf("%s",c);\/\/...

c语言,解释一下两个程序的区别
c++语言是c语言发展起来的,所以继承了c语言几乎所有的特点,但c++语言又有自己的个性。c语言是一种面向过程的编程语言,而c++主要是面向过程的,因此c++有类的概念,而c语言就没有。c++的功能强大,编译器复杂,适合高端程序的设计和编辑,c语言的编译器简易,适合低端程序。

白塔区18617417228: 一个C语言程序的解释问题,三个数取最大值的其中有一段max=a;if(max -
贡仇乐喜:[答案] 将a赋值给max; 如果max

白塔区18617417228: 求一个C语言程序:交换三个数的值. -
贡仇乐喜: #include<stdio.h> void main () {int a,b,c,mid;printf("please input three datas\n");scanf("%d%d%d",&a,&b,&c);mid=a;a=b;b=c;c=mid;printf("a=%d\nb=%+5d\nc=%-d",a,b,c); }

白塔区18617417228: 求三个数取大的C语言程序! -
贡仇乐喜: #include main() { float a,b,c,max; printf("input 3 reds please:"); scanf("%f %f %f”,&a,&b,&c); max=c; if(maxmax=a; if(maxmax=b; printf("%f\n",max); }

白塔区18617417228: 用C语言编程输入三个整数数,求它们的和及平均值 -
贡仇乐喜: 1、#include<stdio.h>int main() 2、{ int a,b,c; scanf("%d%d%d",&a,&b,&c); 3、 int sum = a+b+c; 4、 printf("和: %d",sum); 5、printf("平均值:%f",sum/3.0); 6、return 0 讲解: 1、先定义四个整形. 2、一个浮点型保存平均值. 3、然后在控制台等待输入. 4、将输入的三个整数加起来赋值给sum. 5、将三个整形除以3.0(为什么是3.0,是因为ave是浮点型的,隐性转换到float). 6、然后输出.

白塔区18617417228: c语言如何三个数求和 -
贡仇乐喜: 是三个数求和: int a,b,c,sum; char c1,c2; scanf("%d%c%d%c%d",&a,&c1,&b,&c2,&c); if(c1=='+' && c2=='+') sum=a+b+c; printf("%d+%d+%d=%d\n",a,b,c,sum); 运行时,输入 12+34+56回车 或 1+2+3回车

白塔区18617417228: 如何用c语言编写一个程序 就是有三个数 求最大的一个 -
贡仇乐喜: 程序如下:#include int main() { int a,b,c,max; scanf("%d,%d,%d",&a,&b,&c); max=a; if(b>a) max=b; if(b>c) max=b; else if (c>a) max=c; printf("max=%d\n",max); return 0; } 基本思想:依次选出数组最小的数放到数组的前面.首先从数组的第...

白塔区18617417228: C语言编程 求3个数的大小并输出 -
贡仇乐喜: #includevoid main() { int a,b,c,temp; scanf("%d%d%d",&a,&b,&c); if(a

白塔区18617417228: 用c语言编写三个数取最大的一个 -
贡仇乐喜: 没有错的 唯一的就是可能输入的时候有问题 你试试这样 #include #include int main( ) { int a,b,c,d; printf("请依次输入a,b,c\n"); scanf("%d%d%d",&a,&b,&c); if(a>b)d=a; else d=b; if(c>d) d=c; printf("max=%d\n",d); system("pause"); return (0); } 输入的时候各个数字别用逗号隔开了 改为空格 还有就是加一个头文件

白塔区18617417228: C语言:编写一个程序实现3个数之间大小的比较.将最大的数输出 -
贡仇乐喜: #include<stdio.h> main() { int a,b,c,d; printf("输入3个数:");//输入3个数 scanf("%d%d%d",&a &b &c);if(a>b)//比较大小并输出较大在数 d=a ; else d=b; if(d>c) printf("%d",d); else printf("%d",c); }

白塔区18617417228: C程序设计. 要求用C语言编写程序,设计一个从任意三个数中取最小者. -
贡仇乐喜: 这个很简单啊,可以用书上的方法,也可以令其中一个是最小值,与另外两个一一比较比如:int min, a, b;scanf("%d%d%d",&min,&a,&b);if(min>a)min = a;if(min>b)min=b;printf("最小值为%d",min);

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网