将数组中的数逆序存放
7-1 将数组中的数逆序存放
分数 10
作者 C课程组
单位 浙江大学
本题要求编写程序,将给定的n个整数存入数组中,将数组中的这n个数逆序存放,再按顺序输出数组中的元素。
输入格式:
输入在第一行中给出一个正整数n(1≤n≤10)。第二行输入n个整数,用空格分开。
输出格式:
在一行中输出这n个整数的处理结果,相邻数字中间用一个空格分开,行末不得有多余空格。
输入样例:
4
10 8 1 2
输出样例:
2 1 8 10
解题思路
使用scanf函数去接收数字,然后使用getchar函数接收空格,循环接收即可。
我们先编写循环接收的一个例子
#include <stdio.h>
int main()
{
int n;
char ch;
do
{
scanf("%d", &n);
ch = getchar();
printf("%d", n);
} while (ch != '\n');
return 0;
}
输出结果
14
13
12
11
改写为for循环,把接收的数字存入数组中,然后反向输出。
#include <stdio.h>
int main()
{
int n, i, num;
scanf("%d", &n);
int arr[n];
char ch;
for (i = 0; i < n; i++)
{
scanf("%d", &num);
arr[i] = num;
ch = getchar();
if (ch == '\n')
{
break;
}
}
for(i=n-1; i>=0; i--)
{
if(i<=0)
{
printf("%d\n",arr[i]);
}
else
{
printf("%d ",arr[i]);
}
}
return 0;
}
运行结果
14 13 12 11

浙公网安备 33010602011771号