c语言练习--三个数比较-创新互联

要求:实现三个数的比较 从大到小和从小到大排列

专注于为中小企业提供成都做网站、成都网站设计、成都外贸网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业乌兰察布免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

普通做法一:

#includeint main()
{
    int a,b,c,sum;
    printf("让三个数排列大小\n");
    printf("请输入第一个数\n");
    scanf("%d",&a); 
    printf("请输入第二个数\n");
    scanf("%d",&b);  
    printf("请输入第三个数\n");
    scanf("%d",&c); 
    if(a>b) //把a的值赋给b,b的值赋给a
           //sum起到中间变量
    {       //大赋给小,小赋给大
            //所以这里b>a
      sum=a;
      a=b;    
      b=sum;     
    }
    if(a>c)    //到这里后b的值是大的              
    {          
      sum=a;   
      a=c;   
      c=sum;      //这里c>a
                  //所以:ac)   
    {
      sum=b;  //b把值赋给sum
      b=c;    //c把值赋给b
      c=sum;  //sum把值赋给c  
              //所以c大
              //a%d >%d\n",c,b,a);   
   return 0;
}

做法二函数实现:(虽然和普通做法一样,但是要注意!!)

注意:再自己设函数时,因为要改变形参对实参的值,所以要用到传址调用,既要通过指针实现

#includevoid pali(int* num1, int* num2, int* num3)
{
	int tmp;
	if (*num1>*num2)
	{
		tmp = *num1;
		*num1 = *num2;
		*num2 = tmp;
	}
	if (*num1>*num3)
	{
		tmp = *num1;
		*num1 = *num3;
		*num3 = tmp;
	}
	if (*num2>*num3)
	{
		tmp = *num2;
		*num2 = *num3;
		*num3= tmp;
	}
}
int main()
{
	int num1, num2, num3;
	printf("请输入三个数\n");
	scanf("%d %d %d", &num1, &num2,&num3);
	pali(&num1, &num2, &num3);
	printf("从大到小排列为:%d>%d>%d",num3,num2,num1);
	printf("从小到大排列为:%d<%d<%d", num1, num2,num3);
	return 0;
}

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


网站栏目:c语言练习--三个数比较-创新互联
网站链接:http://scyanting.com/article/dgoijd.html