关于数组的逆序重放

Q:将一个数组中的值按逆序重新存放。例如,原来的顺序为8,6,5,4,1。要求改为1,4,5,6,8。

输入为两行:第一行数组中元素的个数n(1<n<100),第二行是n个整数,每两个整数之间用空格分隔。

输出为一行:输出逆序后数组的整数,每两个整数之间用空格分隔。

S:

#include<stdio.h>
#include<math.h>
int main()
{
	int n;
	int s[100];
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&s[i]);
	}
	for(int i=n;i>=1;i--)
	{
		printf("%d ",s[i]);
	}
	printf("\n");
	return 0;
}
时间: 2024-10-11 10:30:33

关于数组的逆序重放的相关文章

poj2299(离散化+树状数组求逆序)

数据范围比较大,先用离散化将数据映射到可控的范围,然后应用树状数组求逆序求解. 总共有N个数,如何判断第i+1个数到最后一个数之间有多少个数小于第i个数呢?不妨假设有一个区间 [1,N],只需要判断区间[i+1,N]之间有多少个数小于第i个数.如果我们把总区间初始化为0,然后把第i个数之前出现过的数都在相应的区间把它的值定为1,那么问题就转换成了[i+1,N]值的总和.再仔细想一下,区间[1,i]的值+区间[i+1,N]的值=区间[1,N]的值(i已经标记为1),所以区间[i+1,N]值的总和等

java-第七章-数组-字符逆序输出

import java.util.Arrays; public class A03 { public static void main(String[] args) { // TODO Auto-generated method stub char Letter [] = new char []{'a','c','u','b','e','p','f','z'}; System.out.print("原字符 列表:"); for (int i = 0; i < Letter.len

用指针??输入一个数组,逆序输出该数组

/* *Copyright(c) 2014 烟台大学计算机学院 *All rights reserved. * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:杨汉宁 * 完成日期:2014年 12 月 11 日 * 版 本 号:v1.0 * * 问题描述:输入一个数组,逆序输出该数组 * 输入描述:输入一个数组 * 程序输出:逆序输出该数组 */ #include <iostream> us

1-6-04:数组逆序重放

描述 将一个数组中的值按逆序重新存放.例如,原来的顺序为8,6,5,4,1.要求改为1,4,5,6,8. 输入 输入为两行:第一行数组中元素的个数n(1<n<100),第二行是n个整数,每两个整数之间用空格分隔. 输出 输出为一行:输出逆序后数组的整数,每两个整数之间用空格分隔. 样例输入 5 8 6 5 4 1 样例输出 1 4 5 6 8 1 #include<stdio.h> 2 int main() 3 { 4 int a[101]={0}; 5 int n; 6 scan

04:数组逆序重放

总时间限制:  1000ms 内存限制:  65536kB 描述 将一个数组中的值按逆序重新存放.例如,原来的顺序为8,6,5,4,1.要求改为1,4,5,6,8. 输入 输入为两行:第一行数组中元素的个数n(1<n<100),第二行是n个整数,每两个整数之间用空格分隔. 输出 输出为一行:输出逆序后数组的整数,每两个整数之间用空格分隔. 样例输入 5 8 6 5 4 1 样例输出 1 4 5 6 8

算法竞赛入门经典_3.1_数组_逆序输出_开灯问题

又是新的一天,继续更新. 今天进入了新的章节,数组和字符串 1.逆序输出问题: 先来看代码吧 #include <stdio.h> //逆序输出 2017-8-16 #define maxn 105 int a[maxn]; int main(int argc, char* argv[]) { //int a[maxn]; int x, n = 0; while (scanf("%d", &x) == 1) a[n++] = x; for (int i = n -

POJ 2299 Ultra-QuickSort (树状数组 &amp;&amp; 离散化&amp;&amp;逆序)

题意 : 给出一个数n(n<500,000), 再给出n个数的序列 a1.a2.....an每一个ai的范围是 0~999,999,999  要求出当通过相邻两项交换的方法进行升序排序时需要交换的次数 分析:其实经过一次模拟后,会发现奇妙的东西,这个排序都是按位置排的,最大要求到最大,最小要去到最小,转化思想这是一道求逆序对数的题目,答案就是逆序对数. 这里数据过大999999999,数组无法开的了这么大,我们可以离散化,只记录相对大小. 这里离散化有所不同,这里为了压时,用了空间换时间的方法.

【CDOJ931】Car race game(树状数组求逆序)

题目连接:http://acm.uestc.edu.cn/#/problem/show/931 OJ评判系统有些坑,不支持__int64以及输出的%I64d大家注意.全开long long也会TLE,比较坑.逆序的基础操作题,不错. 1 #include <bits/stdc++.h> 2 #define MAX 100010 3 using namespace std; 4 5 int s[MAX * 10]; 6 7 struct Node { 8 int x, v; 9 } node[M

数组的逆序输出

#include <stdio.h> int main() { int arr[]={1,3,5,-7,9,2,4,64,8,-10}; int j=sizeof(arr)/sizeof(arr[0]); for(int i=j-1;i>=0;i--) { printf("%2d\n",arr[i]); } return 0; }