程序分析:
我们想办法把最小的数放到a上,先将a与b进行比较,r如a>b则将a与b的值进行交换,然后再用a与c比较,如a>c则将a与c的值进行交换,这样a的值最小。
程序源代码如下
#include <stdioh>
main()
{
int a,b,c,t;
printf("Please input 3 numbers:");
scanf("%d%d%d",&a,&b,&c);
if (a>b)
{t=a;a=b;b=t;} /交换a,b的值/
if (a>c)
{t=c;c=a;a=t;} //交换a,c的值
if (b>c)
{t=b;b=c;c=t;} //交换b,c的值
printf("small to big:%d,%d,%d\n",a,b,c);
}
输出结果
写的比较简单:c语言版#include
void
main()
{
int
a,b,c,temp;
printf("请输入第1个数:");
scanf("%d",&a);
printf("请输入第2个数:");
scanf("%d",&b);
printf("请输入第3个数:");
scanf("%d",&c);
if(a>b)
{
temp=a;
a=b;
b=temp;
}
if(a>c)
{
temp=a;
a=c;
c=temp;
}
if(b>c)
{
temp=b;
b=c;
c=temp;
}
printf("比较结果:%d<%d<%d\n",a,b,c);
}#include <stdioh>
int main()
{
int number[5] = {0};//存储五个数
int cur = 0;//当前要比较的数的下标,不能是float
float max = number[0];//当前最大的数值,初始为数组中第一个数
int index = 0;//当前最大数值在数组中的位置
printf("寻找最大值\n");
//获得五个数
while(index < 5)
{
printf("请输入第%d个数:", index+1);//这里
scanf("%d",&number[index]);
index++;/////////////////////////////////这里
}
// index=0;
while(cur < 5)
{
if (max < number[cur])//当这个数比前面数中最大的数还要大时就替换掉//////////////////////////////////////////
{
max = number[cur];//////////////////////////////cur 非index
index = cur;
}
cur++;
}
printf("最大值是数组中第%d个数,值为%06f\n", index + 1, max);
getch();
return 0;
}浮点数如果比较是否相等的话,一般是通过(fabs(a-b)<1e-6)
但是比较大小的话,是分情况的:
如果是在精度范围内的,可以直接用a>b,a<b来比较,
如果是超过精度范围的,可以用数组存储后进行比较。
输出最大值:
#include <stdioh>
void main()
{
int a,b,c,Max;
scanf("%d %d %d",&a,&b,&c);
if (a <= b)
Max = b;
else
Max = a;
if (Max <= c)
printf("%d",c);
else
printf("%d",Max);
}
输入三个数(空格隔开),先比较前两个数大小,将较大的数赋值给Max,再比较Max与第三个数大小,输出较大的数
按降序输出:
#include <stdioh>
void main()
{
int a,b,c,max_ab,min_ab;
scanf("%d %d %d",&a,&b,&c);
if (a<=b)
{
max_ab = b;
min_ab = a;
}
else
{
max_ab = a;
min_ab = b;
}
if (max_ab <= c)
printf("%d %d %d",c,max_ab,min_ab);
else if (max_ab > c && c >min_ab)
printf("%d %d %d",max_ab,c,min_ab);
else if (max_ab > c && c <=min_ab)
printf("%d %d %d",max_ab,min_ab,c);
}
输入三个数,判断前两个数,将大的数赋值给max_ab,小的数赋值给min_ab,再将max_ab与c作比较。若c大于等于max_ab,则输出c,max_ab,min_ab若c小于max_ab且大于min_ab,则输出max_ab,c,min_ab若c小于min_ab,则输出max_ab,min_ab,c
知识延展:
C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的DMRitchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。
它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。
#include<stdioh>
//#include<windowsh>
voidmain()
{
intmax3(inta,intb,intc);
inta,b,c,result;
printf("Pleaseenterthreenumber:\n");
scanf("%d,%d,%d",&a,&b,&c);
result=max3(a,b,c);
printf("Themaxofthreenumberis%d:\n",result);
//system("pause");
}
intmax3(inta,intb,intc)
{
intx,z;
if(a>b)x=a;
elsex=b;
if(x>c)z=x;
elsez=c;
returnz;
}
扩展资料
C语言:三个数由小到大排序
#include<stdioh>
#include<stdlibh>
intmain()
{
inta,b,c,t;//定义4个基本整型变量a,b,c,t;
printf("Pleaseinputa,b,c:");
scanf("%d%d%d",&a,&b,&c);
//如果a大于b,借助中间变量t实现a、b值互换;
if(a>c)
{
t=a;
a=b;
b=t;
}
//如果a大于c,借助中间变量t实现a、c值互换;
if(a>c)
{
t=a;
a=c;
c=t;
}
//如果b大于c,借助中间变量t实现b、c值互换;
if(b>c)
{
t=b;
b=c;
c=t;
}
printf("theorderofthenumberis:\n");
printf("%d,%d,%d",a,b,c);//输出a,b,c的值顺序输出;
system("pause");
return0;
}
#include<stdioh>int main(void)
{
float num1,num2;
printf("请输入数字1和数字2,并按回车结束!");
scanf("%f,%f",&num1,&num2);
if(num1>num2)
printf("数字1比数字2大,%f>%f",num1,num2);
else if(num1<num2)
printf("数字1比数字2小,%f<%f",num1,num2);
else
printf("两个数相等,%f=%f",num1,num2);
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)