2 fairallen fairallen 于 2016.04.26 14:55 提问

结构体交换的时候为什么失败,不明白哪里错了

#include
using namespace std;
typedef struct student
{
int a;
}STU;
int main()
{
STU stu[10];
STU swap;
int i,j;
for(i=0;i {
cin>>stu[i].a;
}
for(i=0;i<10;i++)
{
cout<<stu[i].a<<"\t";
}
for(i=0;i<9;i++)
{
for(j=i+1;j<10;j++)
{
if(stu[i].a < stu[j].a)
swap=stu[i];
stu[i]=stu[j];
stu[j]=swap;
}

}
for(i=0;i<10;i++)
{
    cout<<stu[i].a<<"\t";
}
return 0;

}

2个回答

qq423399099
qq423399099   Ds   Rxr 2016.04.26 15:31

if(stu[i].a < stu[j].a)这个后面要加上大括号,满足if的时候只会执行一句swap=stu[i];
而后面的两句每次都会执行

 #include <iostream>
using namespace std;
typedef struct student
{
    int a;
}STU;
int main()
{
    STU stu[10];
    STU swap;
    int i,j;
    for(i=0;i <10; i++){
        cin>>stu[i].a; 
    }
    for(i=0;i<10;i++)
    {
        cout<<stu[i].a<<"\t";
    }
    for(i=0;i<9;i++)
    {
        for(j=i+1;j<10;j++)
        {
            if(stu[i].a < stu[j].a)
            {
                swap=stu[i];
                stu[i]=stu[j];
                stu[j]=swap;
            }

        }
    }
    for(i=0;i<10;i++)
    {
        cout<<stu[i].a<<"\t";
    }
    return 0;
}

fairallen
fairallen   2016.04.27 09:32

晚上看的时候无意间看到了,哭笑不得,不过还是多谢了。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
SPIN控件的使用问题
我的程序哪里错了为什么不能调节,,不知道哪里出错了,请大家看看,要写20字真是烦人
文件内容
帮我看看哪里错了,为什么不能连接数据库呢?一运行就出错
struct in_addr在结构体中位置问题
 使用WinPcap抓取ARP数据包,其中定义ARP数据包结构体如下:typedef struct ArpPacket{ u_int16_t macaddrtype; u_int16_t proaddrtype; u_int8_t  macaddrlen; u_int8_t  proaddrlen; u_int16_t operationtype; u_int8_t  srcmac[6]; s
交换两个结构体的内容
//交换结构体的内容 #include #include using namespace std; class lizi { public: int a; char *b; }; int main() { lizi x,y; x.a=10; x.b="I'm a"; y.a=100; y.b="I'm b"; cout cout swap(x,
写一个函数交换两个结构体变量
struct Cat {     char name[20];     char sex;     int age;     int score; }; void change(struct Cat *a,struct Cat *b) {     struct Cat change = {};     change = *a;     *a = *b;  
如何交换字符串和用结构体排序名次
编写一个程序进行分数排序用结构体
细节成就未来(结构体数组替换)
测试数据: 12 he 34 13 hu 35 14 ni 1 18 bu 98 11 ko 90 19 by 7 34 vy 33 33 bg 44 55 bj 32 2 v 43 1 jh 2 4 bsw 54 76 hgh 96 578 bsvd 76 222 scdsc 45 46 df 63 23 add 65 24 dsvf 82 25 xacd
哪里错了
不知道哪里错了 请教一下~    输入一组数组反序输出~用的是外部变量  #include "stdio.h"  int a[10]; int  fd(int b[10]); {int i;    for (i=0;i  a[9-i]=b[i];        }    main(){int j,p,a[10]; for(j=0;j scanf ("%d",&a[j]); fd(a
交换结构体内部的两组数据
#include #define N 30 typedef struct Mystruct { int a; int b; }MYSTRUCT; void Swap(struct Mystruct *p,struct Mystruct *p1) { // struct Mystruct *pstr=p1; struct Mystruct a; a=*p1;
不明白为什么
http://www.rznews.cn/yszx/zxzx/6443809913.html http://www.rznews.cn/yszx/zxzx/6454190288.html http://www.rznews.cn/yszx/zxzx/6454191376.html http://www.rznews.cn/yszx/zxzx/6448469096.html http://w