本人菜鸟,c语言函数比较两个整数大小.x.y.z a b

作者&投稿:奚眉 (若有异议请与网页底部的电邮联系)
c语言如何用函数比较两个数的大小~

1、首先需要准备一个空白的c语言文件,这里是用vs2017软件,在C语言文件中引入C语言的头文件,新建一个max函数用来判断大小,最后设置一个main主函数:

2、max函数的逻辑是判断x和y两个参数那个数大,大的就把值赋给z变量,最后返回z变量的值。主函数中将用户输入的数通过scanf函数传递给变量a、b,最后调用max函数判断大小并输出即可:

3、最后编译运行,打开的提示符中,输入两个数,回车之后程序就会把较大的数打印出来了。以上就是用C语言比较两个数的方法:

#include
void maxa(int *a,int *b) { int c; if ( (*a)<(*b) { c=(*a); (*a)=(*b); (*b)=c; } }
void main() { int a,b;
scanf("%d%d",&a,&b); printf("%d %d
",a,b);
maxa(&a,&b); printf("%d %d
",a,b);
}

x,y是主函数中的变量,而a,b是函数中的形式参数,而z是从函数max中获得的返回值。具体的程序如下;
#include "stdio.h"
max(int a,int b);//函数的声明
void main()
{
float x,y,z;
scanf("%f%f",&x,&y);
z=max(x,y);
printf("%.2f\n",z);
}
max(int a,int b)
{
if(a>b)//对a,b进行比较,选择一个大的值返回
return a;
else
return b;
}
如果不用函数的话,就可以用下面的程序了。
#include "stdio.h"
void main()
{
float x,y;
scanf("%f%f",&x,&y);
printf("%.2f\n",x>y?x:y);
}
这里一样可以打印出最大的那个数。
还可以用下面的一段程序。
#include "stdio.h"
void main()
{
float x,y;
scanf("%f%f",&x,&y);
if(x>y)
printf("%.2f\n",x);
else
printf("%.2f\n",y);
}

不一样 a,b是MAX函数里的形式参数(形参) 而x,y是主函数里的实际参数(实参),因为你这题只是简单的调用MAX函数 如果你主函数要比较2对数字(例如X和Y M和N)的大小的话 ,你就要调用2次MAX函数 第一次吧X,Y给a,b 第2次吧M,N给 a,b。这时候形参的作用就出来了 就必须要 a,b了 另外还有一点 主函数里定义的变量是不能放在你自己定义的MAX函数里使用的
关于第2个问题 Z的确是a,b中的一个 但你a,b比较后返回的值是一个数字 你就必须把这个数字赋给一个变量 也就是Z

楼上的没错,你可以选择用和不用~!
void main()
{
int max(int x,int y); /*调用函数声明先。。。*/
int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b); /*a,b是这个函数实参,负责给调用的函数赋值*/
printf("max=%d",c);
}
int max(int x,int y) /*这里定义调用函数,形参。。。数据类型啥的,形参他们也不占啥内存,等函数调用时储存下数据,之后就释放储存单元了,*/
{ int z;
if(x>y)z=x;
else z=y;
return(z);
}
其实不用调用函数一样,你定义个别的变量储存2者比较的较大值然后输出一样~!

1.a,b的作用域仅限于max中,a,b不是x,y;以后如果有z,w,c,d照样可以调用max(z,w),max(c,d).
2.z的作用域限于main中,如果你愿意x=max(x,y)、或者zzz=max(x,y)也可以的。

弄这么多变量就是出题目时把简单问题负责化的手段。

max(int x,int y) {
...
z=x;
...
}

main() {
int x,y;
...
scanf("%d%d",&x,&y);
z=max(x,y);
printf("%d",a); //
...
}

1.你也可以直接用a,b,这就是局部变量与全局变量的关系了,具体你查书。
2.你也可以不用z,直接用a,b两个变量,比如将大的值赋给a,然后输出a。


C语言问题,本人菜鸟,跪求大神详解!!
a-b+++1的意思是a-b+1;b++;所以结果是10-3+1=8;b=b+1=4。d=(c++,c+10,100-c);是逗号表达式,括号内从左至右算,但只把最后一个表达式100-c的值赋给d。那就是c=c+1=11,然后把最后100-c=89赋给d,所以最后a=10,b=10,c=11,d=89。c=(d=a+b),(b+d);也是逗号...

C语言菜鸟求高手解答...
1. 第一个问题似乎是一个关于C语言条件判断的疑问。你需要明确表达你的问题,以便得到具体的解答。2. 在C语言中,`m++` 表示先使用变量 `m` 的值,然后将 `m` 的值加1。所以,表达式 `m++ > 5` 首先将 `m` 的值(初始为5)用于比较,然后 `m` 自增。3. 由于 `m` 的初始值是5,...

C语言菜鸟问题(13)
a回车 a b回车;b cdef回车 c 解释:getchar() 是输入一个字符;putchar() 输出一个字符; 比如putchar(c) 就是输出c,可是c是个变量,即输出c的变量的值……再说那个循环,k=0开始知道k=5,一共六次。回车意思是结束输入 (它也是作为一个字符存入缓存的,假如多个相同输入函数一起...

菜鸟提问单片机c语言函数_crol_
这么说吧,举个例子,假如原来b=0xBA;即二进制的(10111010),p1=_crol_(b,1);其执行过程是这样的,1,首先把b循环左移,结果是01110101,即b=0x75;2,把循环后的结果送给P1口,所以,P1口的值是0x75

菜鸟求助,c语言问题,一下sum函数以求a,b两数的和,下面程序的主函数中...
include<stdio.h> include<math.h> float sum(float a,float b){ float s;s=a+b;return s;} void main(){ float x,y,m;printf("请输入求和的两个数:");scanf("%f %f",&x,&y);\/\/初始化 m=sum(x,y);printf("%f\\n",m);} ...

C语言菜鸟,,,
include <stdio.h> main(){ int a,b,c;printf("input a&b:");scanf ("%d%d",&a,&b); \/\/取地址符 c=(float) a\/ b; \/\/这里一个就够了 printf("a=%d b=%d c=%f",a,b,c);}

c语言菜鸟一个,希望有人可以跟我说一下每句语言的功能
int record[100];\/\/定义一个名叫record的大小为100个整型变量大小的整型数组,相当于一个大小为100的整数型变量的集合 int i,inupt;\/\/定义两个整数型变量叫i,inupt,在这个程序中i是一个循环用的变量,input 表示输入的数 for(i=0;i<100;i++){\/\/首先让i=0;然后每一次都让i=i+1(给i...

关于C语言的一个菜鸟级问题
include"stdio.h"include"math.h"float average(x,y,z);\/\/把这句话放在前面就对了,如果放在后面,那么在MAIN函数中调用这个函数的时候,它发现 没有这个函数的申明,所以出错 C语言中函数的使用是先申明后调用 main(){ float a,b,c,ave;a=3.5;b=4.6;c=7.9;ave=average(a,b,c);(此...

c语言菜鸟求助 在已知的几个数之间随机选择一个
include include <iostream> using namespace std;int GetSrand(int a[],int len){ srand(time(0));return a[rand()%len];} int main(){ int a[] = {1,2,3,6,8,9};int r = GetSrand(a,6);cout<<r<<endl;return 0;} 将这些数放入一个数组中,随机得到数组的下标就可以了。

C语言里面 就个while(n)什么意思,怎么没有表判断的?比如<.>.=本人菜 ...
while(n)当n为0时,跳出循环(或不循环,直接忽略while循环体内的所有内容)。若n为除0以外的任意字符时,循环永远成立(相当于while(1))。此时必须在循环内加入跳出循环的判断语句,如if……break 否则会带来死循环的隐患。

汨罗市15338761087: 本人菜鸟,c语言函数比较两个整数大小.x.y.z a b -
主常鼻通: x,y是主函数中的变量,而a,b是函数中的形式参数,而z是从函数max中获得的返回值.具体的程序如下; #include "stdio.h" max(int a,int b);//函数的声明 void main() { float x,y,z; scanf("%f%f",&x,&y); z=max(x,y); printf("%.2f\n",z); } max(int ...

汨罗市15338761087: C语言怎么定义一个函数比较两数大小,谢谢了 -
主常鼻通: 假定是比较整数 int sortab(int a,int b) {int c ; if(a>b) c=1; else if(a==b)c=0;else c=-1; return c; } 给定2数,如果前数大得到1,后数大得到-1,相等得到0

汨罗市15338761087: c语言如何用函数比较两数大小 -
主常鼻通: 用max函数就行 #include "stdio.h" int max(int,int); main() {int x,y,z;printf("input two number:\n");scanf("%d%d",&x,&y);z=max(x,y);printf("%d",z); } int max(int a,int b) {if(a>b)return a;elsereturn b; }

汨罗市15338761087: C语言:求2个数中较大者怎么做??? -
主常鼻通: scanf("%d%d",&a,&b) //这样的话只需要输入两个纯数字就可以了,数字可以用空格格开或者每输入一个数字敲一下回车 然而scanf("%d,%d",&a,&b) 这个语句,%d与%d中间多了一个逗号,在输入的时候必须要输入进去,意思就是输入一个数字然后紧接着输入一个逗号再输入另一个数字,敲回车才可以 相同的,如果写成了scanf("%d,,%d",&a,&b)在输入的时候数字中间就要原模原样的加上两个逗号了 这么说你明白了么?

汨罗市15338761087: C语言编写“比较两个数大小”的代码是什么 -
主常鼻通: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15# include <stdio.h>intmain() {floatm,n;//定义单精度变量,用于比较floata = 0,b = 0;//定义单精度浮点型变量,用来存放比较的两数 printf("请输入两个数,中间请用空格隔开:\n");scanf("%f %f",&a,&b); m = a > b ? a : b;//判断,并带入变量mn = a < b ? a : b; printf("两数中的最大者为:%f\n最小者为:%f",m,n); }

汨罗市15338761087: C语言比较两个数的大小 -
主常鼻通: 函数max没有定义 int max(int x,inty) {return x>y?x:y; }int mai() {int a,b,c;scanf("%d,%d",&a,&b);c=max(a,b);print("max=%d\n",c);return 0; }

汨罗市15338761087: C语言,求两个整数中的较大数并输出.谁能教我怎么编程. -
主常鼻通: 1 2 3 4 5 6 7 8 9 10 11 12#include<stdio.h> intmain(){ inta,b; printf("请输入5261两个整数:\n"); scanf("%d %d",&a,&b); if(a>b)printf("较大数是4102%d\n",a); elseprintf("较大数是%d\n",b); return0; } 输入时两个数以1653空格分隔,这个程序比较回简单,没用函数写答

汨罗市15338761087: C语言中求两个整数中的较大者. -
主常鼻通: #include int max(int x,int y); int main() { int a,b,c; scanf("%d,%d",&a,&b);//输入方式为2,4中间是逗号. c=max(a,b); printf("max=%d\n",c); return 0; } int max(int x,int y) { int z; if(x>y)z=x; else z=y; return(z); } 你的程序有问题,我给你改了,操作请看注释..

汨罗市15338761087: c语言用关系表达式比较两数大小 -
主常鼻通: 可以用冒号表达式 #include<stdio.h> int main() {int a ,b,c;printf("请输入两位数a,b\n");scanf("%d%d",&a,&b); //输入要比较的数a和bc=a>b?a:b; //这句话的意思是:如果a>b成立就将a的值赋给变量c如果不成立就将b的值赋给变量cprintf("%d",c);return 0; }

汨罗市15338761087: 只是想知道用一下方法比较两个数的大小 C语言的 -
主常鼻通: #includemain() { int a,b,c; if(a>b) printf("%d大于%d",&a,&b); /* 输出if成立的结果*/ printf("("%d大于%d",&b,&a); /*输出if不成立的结果*/ } 另一钟方法用单目运算符: #include main() { int a,b,c; printf("请输入两个数:a=%d\nb=%d"); printf("\n"); scanf("%d,%d",&a,&b); c=(a>b)?a:b; printf("\n最大值为:%d",&c); }

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