重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
代码如下:
创新互联专业为企业提供禹王台网站建设、禹王台做网站、禹王台网站设计、禹王台网站制作等企业网站建设、网页设计与制作、禹王台企业网站模板建站服务,10余年禹王台做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
#include stdio.h
#include stdlib.h
int max(int a, int b)
{
return a b ? a : b;
}
int main()
{
int i, m, n;
scanf("%d", m);
for (i = 1; i 8; i++) {
scanf("%d", n);
m = max(m, n);
}
printf("最大数:%d\n", m);
system("pause");
return 0;
}
运行结果:
用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(ab)
return a;
else
return b;
}
在C语言中比较字符串大小,可以使用库函数strcmp,也可以自己编写比较函数。
1、使用库函数。
需要包含头文件string.h。声明为:
int strcmp(const char *s1, const char *s2);
会根据字典序比较s1和s2, 如果二者相等,则返回0;如果s1较小则返回-1;如果s1较大则返回1。
比如
strcmp("123", "123") 结果为0。
strcmp("123", "456") 结果为-1。
strcmp("456", "123") 结果为1。
2、自定义函数。
实现字符串比较的方法有很多,其基本原理为按字节比较。
举例如下:
int my_strcmp(char *s1, char *s2)
{
int i;
for(i = 0; s1[i] == s2[i] s1[i]!=0; i++);//循环比较,达到结束或者出现不相等值时退出循环。
if(s1[i] == s2[i]) return 0;//代表全部相等,返回0
if(s1[i]s2[i]) return -1;//s1较小,返回-1。
return 1;//s1较大,返回1.
}
解释关键的地方
for(i=0;i10;i++){
p=i;q=a[i];
for(j=i+1;j10;j++)
if(qa[j]) { p=j;q=a[j]; }
主要是最里面的这个for语句,先解释一下
for(j=i+1;j10;j++)
if(qa[j]) { p=j;q=a[j]; }
首先执行if(qa[j]),我们先假设i=0,这时j=1;p=i=0; q=a[0];因此if(qa[j])就是a[0]a[1]也就是数组的第一项与第二项相比较,如果a[0]小于a[1]则执行里面的语句,再把a[1]赋给q,这时q得到的是较大的值,然后再次循环,也就是j+1,再执行if,这时执行的是qa[j]也就是a[1]a[2],同样如果成立,则q仍然是得到的较大值,如果不成立,则a[1]继续与后面的a[3]比较,这要循环完之后,变量q始终是得到的较大值,当数组中的所有元素都比较完之后,q得到的是最大值。然后再执行外层的for循环,让a[1]再次和他后面的所有的值相比较,再次找到第二大的值,以此类推。而if中的j主要是用于确定数组中最大值所在的位置,在这个for之后的if就是让这个最大值在应该出现的p位置。
p=i的作用是判断p的值是否作了改变,如果p的值没有改变,也就是说q的值本身就是一个最大值,就没有必要执行if里的语句,交换值了。
#includestdio.h
#define
N
100
int
input(char*a,char*b)//输入两个字符串
{
printf("Input
the
first
information:\n");
fgets(a,N,stdin);
printf("Input
the
secend
information:\n");
fgets(b,N,stdin);
}
int
my_strcmp(char*a,char*b)//比较字符串每个字符的大小
{
while((*a!='\0')(*b!='\0'))
{
if(*a*b)
{
return
0;
}
else
if(*a*b)
{
return
1;
}
else
{
a++;
b++;
}
}
if((*a=='\0')(*b!='\0'))//字符串b比字符串a长
{
return
1;
}
else
if((*a!='\0')(*b=='\0'))//字符串a比字符串b长
{
return
0;
}
else
{
return
2;
}
}
int
main()
{
char
a[N]={0};
char
b[N]={0};
int
net2=0;
input(a,b);//调用输入函数
net2=my_strcmp(a,b);//调用比较大小函数
if(0==net2)//输出大小
{
printf("ab\n");
}
else
if(1==net2)
{
printf("ab\n");
}
else
{
printf("a=b\n");
}
return
0;
}
扩展资料:
一、return在函数中的作用
我们如果将函数看做一个加工厂,参数就是我们向加工厂投入的原料,具体的函数功能实际上就是加工的过程,而return语句代表返回值,就是加工厂在实现加工之后给“投资人”的成品。
二、return语句的特点
1、在函数当中,遇到return语句之后就意味着函数运行的结束,在此之后的代码是不运行的。
2、它不支持任何运算也没有任何内建方法,和任何其他的数据类型比较是否相等时永远返回false,也可以将None赋值给任何变量。
3、执行到return语句时,会退出函数,return之后的语句不再执行。但将return语句放在try语句块中,是个例外。
三、return的默认值:return函数默认的返回值为undefined。