题目:
将给定的n个整数存入数组中,将数组中的这n个数逆序存放,再按顺序输出数组中的元素。
输入格式:
输入在第一行中给出一个正整数n(1≤n≤10)。第二行输入n个整数,用空格分开。
输出格式:
在一行中输出这n个整数的处理结果,相邻数字中间用一个空格分开,行末不得有多余空格。
思路: 1.for循环依次将n个正整数赋值给数组a的n个元素;
2.for循环逆序输出。
错误代码如下: 题目要求是行末不得有空格。此错误代码再输出后末尾有空格
#include<stdio.h>
int main(){
int a[11], i, n;
scanf("%d", &n);
for(i = 1; i <= n; i++){ //将输入数依次赋值给数组a的n个元素;
scanf("%d", &a[i]);
}
for(i = n; i >= 1; i--){
printf("%d ", a[i]);
}
return 0;
}
正确代码如下: 当循环到最后一个元素时(n = 1时)在输出空格前跳出循环(使用continue而不是break)
#include<stdio.h>
int main(){
int a[11], i, n;
scanf("%d", &n);
for(i = 1; i <= n; i++){ //将输入数依次赋值给数组a的n个元素;
scanf("%d", &a[i]);
}
for(i = n; i >= 1; i--){
printf("%d", a[i]);
if(i == 1) continue;
printf(" ");
}
return 0;
}