C 倒叙问题

倒叙问题

题目描述
输入一个长度为n(1 <= n <= 100000)数组,倒序输出他。 数组中的元素ai满足(1≤ai≤100000)。

输入格式
第一行一个整数n,表示数字长度,1≤n≤100000 第二行有n个整数ai,表示数组的内容,1≤ai≤100000。

输出格式
输出第一行为数组长度n 接第二行为倒序输出的结果。

样例
输入样例

3
4 5 6
输出样例

3
6 5 4

#include<stdio.h>
int main()
{
	int n;
	scanf("%d",&n);
	int a[n];
	for(int i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	printf("%d\n",n);
	for(int i=n-1;i>=0;i--)
	{
		printf("%d ",a[i]);
	}
	return 0;
} 

题目描述
读入一个四位数abcd,请你输出他的“反写”的值。 比如读入1015,输出5101; 读入4310,输出134 (不能有前导零) 不合法的四位数,如234, 0123, 12412不会作为读入数据。

输入格式
输入一个4位数abcd

输出格式
输出一个4位数,表示反写的值

样例
输入样例

4432
输出样例

2344

#include<stdio.h>
int main()
{
    int abcd,n,a,b,c,d;
    scanf("%d",&abcd);
    d=abcd%10;
    c=abcd/10%10;
    b=abcd/100%10;
    a=abcd/1000;
    n=d*1000+c*100+b*10+a;
    printf("%d",n);
    return 0;
}

题目描述
给出两个整数 a 和 b ,倒序输出 a 到 b 之间(包括 a 和 b )的所有整数。

输入格式
第一行两个数a(0<=a<=100000)和b(0<=b<=200000),保证a<=b.

输出格式
b−a+1 行,每行一个整数,表示倒序输出的第i个数。

样例
样例输入

1 5
样例输出

5
4
3
2
1

#include<stdio.h>
int main()
{
    int a,b;
    scanf("%d %d",&a,&b);
    for(;a<=b;b--)
	{
	printf("%d\n",b);
    }
    return 0;
}

对于这三个问题,都属于是倒叙问题,但要实现它们,所编写的代码却各不相同。对于第一个数组的倒叙问题,采用的则是数组的下标进行置换,来实现数组的倒序输出,需要注意的是数组下标是从0开始的。
对于第二个多位数的倒序问题,采用的则是取余相除的方法,将它的每一位上的数进行置换,需注意的是这里进行运算时,会进行强制类型转换,因为我们定义了数据为int型,则运算时会将右边表达式的值转变成左边变量的类型。
对于第三个整数之间的倒叙问题,采用的则是最大的整数进行for循环自减,倒序输出它们之间的所有整数,这里区别于数组,不存在下标。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值