请问哪个网站可以做当地向导,孝感市建设网站,wordpress登录js,嘉兴中元建设网站“一帮一学习小组”是中小学中常见的学习组织方式#xff0c;老师把学习成绩靠前的学生跟学习成绩靠后的学生排在一组。本题就请你编写程序帮助老师自动完成这个分配工作#xff0c;即在得到全班学生的排名后#xff0c;在当前尚未分组的学生中#xff0c;将名次最靠前的学… “一帮一学习小组”是中小学中常见的学习组织方式老师把学习成绩靠前的学生跟学习成绩靠后的学生排在一组。本题就请你编写程序帮助老师自动完成这个分配工作即在得到全班学生的排名后在当前尚未分组的学生中将名次最靠前的学生与名次最靠后的异性学生分为一组。
输入格式 输入第一行给出正偶数N≤50即全班学生的人数。此后N行按照名次从高到低的顺序给出每个学生的性别0代表女生1代表男生和姓名不超过8个英文字母的非空字符串其间以1个空格分隔。这里保证本班男女比例是1:1并且没有并列名次。
输出格式 每行输出一组两个学生的姓名其间以1个空格分隔。名次高的学生在前名次低的学生在后。小组的输出顺序按照前面学生的名次从高到低排列。
输入样例
8
0 Amy
1 Tom
1 Bill
0 Cindy
0 Maya
1 John
1 Jack
0 Linda输出样例
Amy Jack
Tom Linda
Bill Maya
Cindy John
程序源码
#includestdio.h // 引入标准输入输出库这个库提供了scanf和printf等输入输出函数 struct S // 定义一个名为S的结构体
{ int sex; // 结构体中的sex字段存储学生的性别整数表示 char name[9]; // 结构体中的name字段存储学生的名字是一个可以容纳9个字符的字符数组
}; int main() // 定义主函数程序的执行从这里开始
{ struct S stu[50]{0}; // 定义一个S类型的数组stu包含50个元素并且所有元素被初始化为0代表没有学生的配对 int n 0; // n用来存储用户输入的学生数量初始化为0 scanf(%d,n); // 从用户处读取学生数量 int i 0; // i是用来循环遍历学生的索引 // 使用for循环读取n个学生的信息 for(i0;in;i) { scanf(%d %s,stu[i].sex,stu[i].name); // 从用户处读取学生的性别和名字输入格式是两个整数和一个字符串 } // 使用另一个for循环来查找所有的学生配对 for(i0;in;i) { int j 0; // j用来遍历除了i以外的所有学生 for(jn-1;ji;j--) // 从最后一个学生开始向前遍历到i前面的学生 { if(stu[i].sex!stu[j].sex stu[j].sex!-1) // 如果找到一个与i学生性别不同的j学生并且这个j学生的性别没有被标记为-1表示还没有找到配对 { printf(%s %s\n,stu[i].name,stu[j].name); // 打印出这两个学生的名字 stu[j].sex-1; // 将j学生的性别标记为-1表示这个学生已经被配对了 break; // 跳出内层循环不需要再查找这个j学生的其他配对了 } } } return 0; // 主函数返回0表示程序正常结束
}