请完善程序,实现以下程序功能:从键盘上输入10个整数存入数组a中,通过指针将数组元素的值逆序输出。 输入样例: 1 3 5 7 9 2 4 6 8 0 输出样例: 0 8 6 4 2 9 7 5 3 1 #include <stdio.h> int main(void) {int k;for(k=1;k<=3;k++){ //该循环用于自动阅卷,请考生忽略 int a[10],i,*p; p= &a[0] ; //使得p指向a[0] for(i=0;i<10;i++) scanf("%d",p+ i ); //输入10个整数存入数组a中 p= &a[9] ; //使得p指向a[9] for(i=9; i>=0 ;i--) {printf("%d ",*p); //逆序输出数组a中的10个整数 *(p+i) ; //调整指针变量p的值,指向上一个数组元素 } printf("\n"); } //该循环用于自动阅卷,请考生忽略 return 0; }
时间: 2023-11-27 15:50:33 浏览: 479
编写程序实现以下功能:从键盘输入十个整数,用冒泡法排序后按从小到大输出
完善后的程序如下:
```c
#include <stdio.h>
int main(void) {
int a[10], i, *p;
p = &a[0]; //使得p指向a[0]
for (i = 0; i < 10; i++)
scanf("%d", p + i); //输入10个整数存入数组a中
p = &a[9]; //使得p指向a[9]
for (i = 9; i >= 0; i--) {
printf("%d ", *p); //逆序输出数组a中的10个整数
p--; //调整指针变量p的值,指向上一个数组元素
}
printf("\n");
return 0;
}
```
注意到原程序中的 `*(p+i)` 是一个没有任何效果的语句,应该改为 `p--` 来将指针变量 p 指向上一个数组元素。另外,程序中的循环 `for(k=1;k<=3;k++)` 用于自动阅卷,可以删除。
阅读全文