倒序--逆序=3 rwkj 1271

-->

C语言:递归函数3(数组倒序)

时间限制(普通/Java):1000MS/3000MS          运行内存限制:65536KByte
总提交:786            测试通过:347

描述

输入多个整数,以0结束,将这些整数逆序后输出。

要求:使用递归函数将数组倒序,在main中调用递归函数。

输入

多个整数,最后为0。

输出

逆序后的这些整数。

样例输入

1 2 5 4 0
1 2 3 4 5 6 7 8 9 0

样例输出

4 5 2 1
9 8 7 6 5 4 3 2 1

提示

注意:每个数后面有一个空格。

#include <stdio.h>
void f(int a[],int n)
{    int i,t;
    for ( i=0; i<n/2; i++)
    {   t=a[i]; a[i]=a[n-1-i]; a[n-1-i]=t;    }
}
int main()
{    int a[100],n,i;
    while (scanf("%d",&a[0])!=EOF)
    {
     n=1;
        while(  scanf("%d",&a[n]) )
        {    if (a[n]==0) break;
            n++;
        }
        f(a,n);
        for (i=0; i<n; i++) printf("%d ",a[i]);
        printf("\n");
    }
} 

#include <stdio.h>
void f(int a[],int n)
{ int i,t;
for ( i=0; i<n/2; i++)
{ t=a[i]; a[i]=a[n-1-i]; a[n-1-i]=t; }
}
int main()
{ int a[100],n,i;
while (scanf("%d",&a[0])!=EOF)
{
n=1;
while( scanf("%d",&a[n]) )
{ if (a[n]==0) break;
n++;
}
f(a,n);
for (i=0; i<n; i++) printf("%d ",a[i]);
printf("\n");
}
}

倒序--逆序=3 rwkj 1271

时间: 2024-10-05 14:45:50

倒序--逆序=3 rwkj 1271的相关文章

倒序--逆序=2

先输出元素个数n,,,分别输出n个元素 #include <stdio.h> void f(int a[],int n) { int i,t; for (i=0; i<n/2;i++) { t=a[i]; a[i]=a[n-1-i]; a[n-1-i]=t; } } int main() { int a[200],n,i,x; while(scanf("%d",&n)!=EOF) { for (i=0; i<n; i++) scanf("%d&

Python 实现倒序输出(逆序自动回复)

>>> s = 'shiyanlou' >>> s[1:3] #这里呢,是左闭右开,是角标大于等于1并且小于3,就是1,2咯,所以是'hi' 'hi' >>> s[0:7:1] #这里呢,等于s[0:7],因为递增的值1是默认的,你也可以改 'shiyanl' >>> s[0:7:2] #递增2,看下结果,对上了吧 'sial' >>> s[-9:-3] #其实s是不仅仅是'shiyanlou',更是'shiyanl

51Nod 1020 逆序排列

 1020 逆序排列 在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序.一个排列中逆序的总数就称为这个排列的逆序数. 如2 4 3 1中,2 1,4 3,4 1,3 1是逆序,逆序数是4. 1-n的全排列中,逆序数最小为0(正序),最大为n*(n-1) / 2(倒序) 给出2个数n和k,求1-n的全排列中,逆序数为k的排列有多少种? 例如:n = 4 k = 3. 1 2 3 4的排列中逆序为3的共有6个,分别是: 1 4 3 2 2 3 4 1

51nod1020 逆序排列(dp)

1020 逆序排列 基准时间限制:2 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 收藏 关注 在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序.一个排列中逆序的总数就称为这个排列的逆序数. 如2 4 3 1中,2 1,4 3,4 1,3 1是逆序,逆序数是4. 1-n的全排列中,逆序数最小为0(正序),最大为n*(n-1) / 2(倒序) 给出2个数n和k,求1-n的全排列中,逆序数为k的排列有多少种? 例如:n = 4 k

笔记-NSArray 逆序reverseObjectEnumerator 及 NSEnumerator 遍历

//1.原始数组 NSMutableArray *array = [NSMutableArray arrayWithObjects:@"1",@"2",@"3",nil]; //2.倒序的数组 NSArray* reversedArray = [[array reverseObjectEnumerator] allObjects]; 输出 reversedArray 为 3 2 1. //2.枚举器法 NSLog(@"------- 枚

逆序单词 HIhoCoder 1366 字典树

逆序单词 HIhoCoder 1366 字典序 题意 在英文中有很多逆序的单词,比如dog和god,evil和live等等. 现在给出一份包含N个单词的单词表,其中每个单词只出现一次,请你找出其中有多少对逆序单词. 第1行:1个整数,N,表示单词数量.2≤N≤50,000. 第2..N+1行:每行1个单词,只包含小写字母,每个单词长度不超过16个字母.保证每个单词只出现一次,且不会出现回文单词(即一个单词倒序还是它自己,比如eye). 输出第一行是个整数,表示单词表中的逆序单词的对数. 解题思路

(单链表)单链表的整体逆序和局部逆序

题目一:将单链表翻转. 思路:有三种方式. 一:用数组存储单链表的值,然后重新逆序赋值,效率较低. 二:利用三个指针,在原来的基础上进行逆序.这种方法比较实用,效率也高. 三:从第2个节点到第N个节点,依次逐节点插入到第1个节点(head节点)之后,最后将第一个节点挪到新表的表尾.需要新建一个链表,这种方法和第二种差不多. 这里我就写出第二种方法,比较实用. 代码(方法二): struct ListNode { int val; ListNode *next; ListNode(int x) :

嵌入式 linux和c 指针顺序和逆序存储

顺序存储 #include<stdio.h>int main(){ char a[10]="1234567890"; char b[9]; char *p=a; char *q=b; int i=10; while(i--) *q++=*p++; printf("%s\n",b); return 0;} 逆序存储 #include<stdio.h>int main(){ char a[10]="1234567890"; c

leetcode——Reverse Linked List II 选择链表中部分节点逆序(AC)

Reverse a linked list from position m to n. Do it in-place and in one-pass. For example: Given 1->2->3->4->5->NULL, m = 2 and n = 4, return 1->4->3->2->5->NULL. Note: Given m, n satisfy the following condition: 1 ≤ m ≤ n ≤ le