当前位置:   article > 正文

【C++】1217 - 小明排队做操迟到_1217: 【入门】小明排队做操迟到

1217: 【入门】小明排队做操迟到

问题

做操的时间到了,小明在教室还在思考刚刚老师讲的一道题目,当他想通这个题时,同学们都已经在操场上排好队了,他赶快跑到操场上找到自己的班级队伍,希望尽快找到以前排队的位置,准备做操,小明记得应该排在第 x 学号同学的后面。
你能不能来帮帮小明呢?
在这里插入图片描述

1.分析问题

  1. 已知:排队
  2. 未知:找到以前排队的位置
  3. 关系:x学号同学的后面

2.定义变量


	//二、数据定义
	int n,x,y,a[200],sub; 
  • 1
  • 2
  • 3

3.输入数据

sub:x同学在的位置。

	//三、数据输入 
	cin>>n>>x>>y;
	for(int i=0;i<n;i++){
		cin>>a[i];
		if(a[i]==x){
			sub=i;
		}
	} 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

4.数据计算

将x学号同学以及后面的同学进行复制,再将小明排在x学号同学后一个位置。

	//四、数据计算 
	for(int i=n-1;i>=sub;i--){
		a[i+1]=a[i];
	}
	a[sub+1]=y;
  • 1
  • 2
  • 3
  • 4
  • 5

5.输出结果

#include<iostream>
using namespace std;
int main(){
	//一、分析问题
	//已知:排队 
	//未知:找到以前排队的位置
	//关系:x学号同学的后面  

	
	//二、数据定义
	int n,x,y,a[200],sub; 
	
	//三、数据输入 
	cin>>n>>x>>y;
	for(int i=0;i<n;i++){
		cin>>a[i];
		if(a[i]==x){
			sub=i;
		}
	} 
	//四、数据计算 
	for(int i=n-1;i>=sub;i--){
		a[i+1]=a[i];
	}
	a[sub+1]=y;
	//五、输出结果 
	n++;
	for(int i=0;i<n;i++){
		cout<<a[i]<<" ";
	}
	return 0;	
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/322719
推荐阅读
相关标签
  

闽ICP备14008679号