逆序输出

#include <stdio.h>
#define MAXN 100+10
int a[MAXN];//int 定义再main函数的外面
int main(){
	int i,x,n=0;
	while(scanf("%d",&x)==1){
		a[n++]=x;
	}
	for(i=n-1;i>=1;i--){//因为在a【i】后面加上回车符
		printf("%d ",a[i]);
	}
	printf("%d\n",a[0]);
	return 0;	
} 

注意1.a【100】不包含a【100】是a【0】到a【99】

2.MAXN是个常数不能是变量

3这里MAXN为100+10是因为在算法竞赛中,常常难以精确计算出需要的数组大小,数组一般会声明得稍微大一些。在空间够用的前提下一点也不浪费,保险

4注意输出时加上空格,一般要求输出的数据行首行尾均无空格,相邻2个数据间用单个空格隔开。这样的话,一共要输出n个数字,但只要n-1个空格即可

5这里将数组定义在main函数外面是因为在外面数组a才放的很大,否则main函数里面数组稍大就会异常退出所以比较大的数组尽量声明在main函数外面

6数组的赋值eg int A[MAXN],B[MAXN];是不能B=A的如果将数组A复制k个元素到数组B可以用memcpy(B,A,sizeof(int)*k)当然如果数组都是浮点型,则写成memcpy(B,A,sizeof(double)*k)凌海使用memcpy函数要包含头文件string.h。如果需要把数组A全部复制到数组B则可以简单一些memcpy(b,a,sizeof(a))

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值