C++程序。输入3个数。从大到小依次输出。if语句。大神帮我看看哪里错了 .是大括号错了么?

#include <iostream.h>
int main()
{
int a,b,c;
cout<<"请输入3个数:";
cin>>a,b,c;
if(a>b)
{
if(b>c)
{
cout<<a<<","<<b<<","<<c<<endl;
}
system("pause");
else if(b<c)
{
if(a>c)
{
cout<<a<<","<<c<<","<<b<<endl;
}
system("pause");
else if(a<c)
{
cout<<c<<","<<a<<","<<b<<endl;
}
}
}
system("pause");
else if(a<b)
{
if(b<c)
{
cout<<c<<","<<b<<","<<a<<endl;
}
system("pause");
else if(b>c)
{
if(a>c)
{
cout<<b<<","<<a<<","<<c<<endl;
}
system("pause");
else if(a<c)
{
cout<<b<<","<<c<<","<<a<<endl;
}
}
}
system("pause");
}
怎么用数组代替abc呢

一定要这样写吗?
这样多重if写多了代码不美观,其实可以用数组代替abc,这样可以缩短代码,让代码的执行效率提高。

int a[3];
输入
for(i=0;i<3;i++)
cin>>a[i];
之后将三个数进行排序
然后输出结果就行追问

不懂啊。请详细讲解

追答

以n个数为例:
int a[n];
for(i=0;i>a[i];
for(i=0;i<n-1;i++) 这里是取出一个需要比较的数
for(j=i+1;j<n;j++) 这里循环用取出来的数和后面的比较,若果条件成立,交换互相的位置
if(a[i]<a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
for(i=0;i<n;i++) 从大到小输出
cout<<a[i];

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-10-25
cin>>a,b,c; 这就错了

cin>>a>>b>>c;才对
第2个回答  2012-10-26
这样能编译通过, if { } else { }中间应该是不能有语句的。

...if语句。大神帮我看看哪里错了 .是大括号错了么?
int a[3];输入 for(i=0;i<3;i++)cin>>a[i];之后将三个数进行排序 然后输出结果就行

C++编程:输入三个整数,并按大小顺序输出
if(a<c) {max=c;mid=a;min=b;} else {max=a;mid=c;min=b;} C++不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。

求C语言大神指点!输入三个数字,输出最大和最小值。
if (a>b&&cc) { printf("min=%d",c);} else { printf("min=%d",b); } } 改成:if (a>b&&cc)printf("min=%d",c);else printf("min=%d",b);}

c++编程最后大括号错误?
一般是前面的内存错误导致的。最后的大括号是相当于析构函数回收内存,如果前面的程序破坏了内存结构就会出错。

请问c++这个程序中总显示着else与if不匹配,请问大家错在哪里了?
你代码中花括号的配对关系是不正确的。其中else前缺少一个右括号,else段代码结束后又多一个右括号 见下图:

c++中输入四个int整数,将其大小顺序输出
①其实你写的程序思路是对的,语法是错的。②由于C语言不是以行作为语句结束的标示符,而是以分号,所以if如果不加大括号的话,只包含最近的那一句分号语句,也就是i=a;if(a<b) i=a;a=b;b=i; 其实等价于:if(a<b)i=a;a=b;b=i;③正确的方法是加上大括号:include <iostream.h> ...

C++中大括号的用法 我分不清什么是侯用大括号
从代码上推断该程序是计算从1000-2000年间出现的闰年,并且打印出来 ncount前面的大括号作用是把ncount自增及后的打印语句的作用域限定在前面if的控制块中 也就是说只有当判断出一个年份是闰年后,ncount才会自增,也才能把该年份打印出来 如果取消ncount前的大括号,那么if只能控制ncount的自增,对...

C++里if语句后面可以跟几条语句?
if后面可以是一个语句也可以是一个块(或者叫复合语句),不能有多个语句;如果想执行多个语句的话,就在这多个语句的最前面和最后面加上大括号{},这样就构成了一个复合语句,这样才符合c++语言要求

dev c++提示大括号出错
看来问题很多,现在可以编译通过,至于能否达到你希望的运行结果~~~看不出c++,只看出c 写代码的时候换到英文输入法,全角字符编译器会报错。include <stdio.h> int max(int x,int y,int z);void main(){ int a,b,c,d;printf("Enter three integers:");scanf("%d%d%d",&a,&b,&c);...

这个c++程序哪里错了?字符数组输出图形
我感觉a[][9] 9这里越界了。后面4个元素包含的char不止9个吧

相似回答