C语言,用scanf输入两个值, (1)用整数,输出较大值 (2)用小数,交换值 怎么做啊

如题所述

#include<stdio.h>
main()
{
float a,b,c;//这里不能用整形,当你用输入的是小数的时候储存会被转换的。
printf("请输入两个整数或两个小数:");
scanf("%f %f",&a,&b);
if((int)a==a&&(int)b==b)//判断是否是整数
{
c=a>b?a:b;//比较大小输出大的数
printf("这两个整数较大值是:%.0f",c);//输出的时候不取小数点后的就可以输出为整数
}
else
{
c=a;a=b;b=c;//交换很好理解引进c是空的,c=a是a为空,c为a这样就达到了交换的目的
printf("小数交换后:%.3f %.3f",a,b);//为了输出看的方便取三位小数了
}
getch();//去掉最后的程序运行完成提示
}追问

没怎么懂, a和b需要自己定个值吗

追答

你不用输入两个数码?可以直接赋值的
#include
main()
{
float a=?,b=?,c;//这里不能用整形,当你用输入的是小数的时候储存会被转换的。
if((int)a==a&&(int)b==b)//判断是否是整数
{
c=a>b?a:b;//比较大小输出大的数
printf("这两个整数较大值是:%.0f",c);//输出的时候不取小数点后的就可以输出为整数
}
else
{
c=a;a=b;b=c;//交换很好理解引进c是空的,c=a是a为空,c为a这样就达到了交换的目的
printf("小数交换后:%.3f %.3f",a,b);//为了输出看的方便取三位小数了
}
getch();//去掉最后的程序运行完成提示
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-10-24
//你的意思是输入2个整数,然后输出最大的哪个数是么?如果是这意思,代码如下:
void main()
{
int a,b;
scanf("%d %d",&a,&b);
if(a>b) printf("%d",a)
else printf("%d",b)
}
//以下是简便的方法实现
void main()
{
int a,b;
scanf("%d %d",&a,&b);
printf("%d",a>b?a:b)
}
//看你喜欢哪种,如果只是2个数比较,用值的交换方法来实现代码量又多了好几行了,很少人这样做的
第2个回答  2012-10-24
没看懂你这个题目
相似回答