解决问题:从键盘输入10个整数,按相反顺序依次输出

#include<stdio.h>
void main() {
	int a, b, c, d, e, f, g, h, i, j;
	printf("请输入10个整数:");
	scanf_s("%d%d%d%d%d%d%d%d%d%d",&a,&b,&c,&d,&e,&f,&g,&h,&i,&j);
	printf("输出10个顺序相反的数据:");
		printf("%d %d %d %d %d %d %d %d %d %d",j,i,h,g,f,e,d,c,b,a);
}

这是最简单粗暴的一种方式,直接输入,输出,但是缺点显而易见就是你需要检查。而且需要不断地读取数据,非常的耗费时间。

#include<stdio.h>
#define N 10
void main(){
int i,a[N]
for(i=0;i<N;i++){
printf("请输入10位数:(%d/%d):",i,N);
scanf_s("%d",&a[i]);
}
for(i=N-1;i>=0;i--)
printf("%d\n",a[i]);

}

交换

0=9

1=8

2=7

3=6

4=5

后面的不用再继续交换了,因为再换就换回来了。

t=a[i],a[i]=a[9-i],a[9-i]=a[i],a[i]=t;

#include<stdio.h>
void main() {
	int i, t, a[10];
	printf("please put into ten integers number:");
	for (i = 0; i < 10;i++) {
		printf("this is the %d :",i+1);
		scanf_s("%d",&a[i]);
	}
	printf("data output:");
	for (i = 0; i < 10; i++)
		printf("%d",a[i]);
	for(i=0;i<10/2;i++)
	t = a[i], a[i] = a[9 - i], a[9 - i] = t;
}

我们再默写一遍:

#include<stdio.h>

void main(){

int i,t,a[i];          //因为这里要折半交换,所以,之后就是倒着输出,需要t的中间变量的接入

printf("请输入10个整数:")//这里 我们把数字输入进去,要有人性化的提示语

for(i=0;i<10;i++){//诸位请仔细观看,这个范围是0-9,

printf("this ten integers number is:%d",i+1);

scanf_s("%d",&a[i]);//我们找到第i个数组,然后把数字放进去。

}

printf("Data output:");//这里就是输出语句;

for(i=0;i<10;i++)//我们先正着输出。

printf("%d",a[i]);

for(i=0;i<10/2;i++)//然后再将顺序改变

t=a[i],a[i]=a[9-i],a[9-i]=a[i],a[i]=t;

}

//定义# define N 10

#include<stdio.h>
#define N 10
void main() {
	int i, t, a[N];
	printf("please put into ten number:\n");
	for (i = 0; i < 10;i++) {
		printf("the number is  (%d/%d): ",i,N);
		scanf_s("%d",&a[i]);
	}
	printf("data output:\n");
	for (i = 0; i < 10; i++)
		printf("%d\n",a[i]);
	for (i = 0; i <= 10 / 2; i++)
		//0-9,1-8,2-7,3-6,4-5
		t = a[i],a[i]=t;//交换
}

//完全交换

#include<stdio.h>
#define N 10
void main(){
int i,t,a[N];
printf("请输入10位数:\n");
for(i=0;i<N;i++){
printf("this number is the (%d/%d)\n",i,N);
scanf_s("%d",&a[i]);
}
printf("输出10位数:\n");
for(i=0;i<10/2;i++)
t=a[i],a[i]=a[9-i],a[9-i]=t;
for(i=0;i<10;i++)
printf("%d\n",a[i]);
}

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

靳向阳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值