|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 With_You 于 2013-9-7 11:35 编辑
#include<stdio.h>
int main()
{
int a,b,c,d,t;
printf("请输入4个整数: ");
scanf("%d,%d,%d,%d",&a,&b,&c,&d);
if(a>b)
{t=a;a=b;b=t;}
else if (a>c)
{t=a;a=c;c=t;}
else if(a>d)
{t=a;a=d;d=t;}
else if(b>c)
{t=b;b=c;c=t;}
else if(b>d)
{t=b;b=d;d=t;}
else(c>d)
{t=c;c=d;d=t;}
printf("从小到大输出数为%d,%d,%d,%d\n",a,b,c,d);
}
这是我一开始编写的程序,我一运行系统就提示C:\Program Files (x86)\Microsoft Visual Studio\MyProjects\gbgbg\gbgbg.c(18) : error C2143: syntax error : missing ';' before '{'
执行 cl.exe 时出错.但我明明一个分号都没漏。 接着我看标准答案,答案上没有else,全部都写的是if。程序如下:
#include<stdio.h>
int main()
{
int a,b,c,d,t;
printf("请输入4个整数: ");
scanf("%d,%d,%d,%d",&a,&b,&c,&d);
if(a>b)
{t=a;a=b;b=t;}
if (a>c)
{t=a;a=c;c=t;}
if(a>d)
{t=a;a=d;d=t;}
if(b>c)
{t=b;b=c;c=t;}
if(b>d)
{t=b;b=d;d=t;}
if(c>d)
{t=c;c=d;d=t;}
printf("从小到大输出数为%d,%d,%d,%d\n",a,b,c,d);
}
这样以后就对了,为什么这里只能用if而不能用else呢?
|
|