题面
/*
编写一程序P239.C实现以下功能
先从键盘读入若干个整数(读到-1或读满16个数均结束读入),然后倒序输出这些数。编程可用素材:
printf("请输入若干个数: ");
printf("\n这些数倒序为: ");
程序的运行效果应类似地如图1所示,图1中的1 2 3 4 5 6 7 8 9 20 11 12 -1 13和图2中的1 31 3 4 5 6 7 8 21 10 11 12 13 14 15 16 17 18是从键盘输入的内容。
请输入若干个数: 1 2 3 4 5 6 7 8 9 20 11 12 -1 13
这些数倒序为: 12 11 20 9 8 7 6 5 4 3 2 1
图1 程序运行效果示例(读到-1时的情况)
请输入若干个数: 1 31 3 4 5 6 7 8 21 10 11 12 13 14 15 16 17 18
这些数倒序为: 16 15 14 13 12 11 10 21 8 7 6 5 4 3 31 1
*/
解答
#include<stdio.h>
int main(void)
{
int data[16],i,j;
printf("请输入若干个数: ");
i=0;
do{
scanf("%d",&data[i]);
if(data[i]==-1)
{
break;
}
i++;
}while(i<16);
printf("\n这些数倒序为: ");
for(j=i;j>0;j--)
{
printf("%d ",data[j-1]);
}
return 0;
}
知识点
- 如何完成输入若干个数
- 有个数限制,有个别特殊输入的判断
- 使用do...while语句完成输入,配合break达到要求
- 使用直标操作的方式,完成数组的倒序遍历