20201022-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises13
P701

/*
编写一程序P701.C实现以下功能
从键盘读入10个数存放在一个数组中,要求用户由小到大输入。
如果发现读入的某个数不是由小到大,则该数输入无效,继续读入后面的输入数据。
再将这10个数依次输出到屏幕上,要求每个数的输出宽度为5、不足5位的在其左边补上空格、数与数之间使用逗号(,)分隔。
然后输入一个数,要求找出该数是数组中第几个(序号从1开始计算)元素的值,如果该数不在数组中,则输出“Not Find!”。
编程可用素材:
printf("please input 10 numbers: ");
printf("input the num to look for: ");
printf("\nthe position of … is …\n"…);
printf("\nNot Find!\n");
程序的运行效果应类似地如图1、图2和图3所示,
图1中的1 2 9 10 20 30 80 90 100 101和80、
图2中的1 2 9 10 20 30 80 90 100 101和70、
图3中的1 2 9 10 20 30 80 90 72 68 100 101和100是从键盘输入的内容。
please input 10 numbers: 1 2 9 10 20 30 80 90 100 101
1, 2, 9, 10, 20, 30, 80, 90, 100, 101
input the num to look for: 80
the position of 80 is 7
图1 程序运行效果示例01
please input 10 numbers: 1 2 9 10 20 30 80 90 100 101
1, 2, 9, 10, 20, 30, 80, 90, 100, 101
input the num to look for: 70
Not Find!
图2 程序运行效果示例02
please input 10 numbers: 1 2 9 10 20 30 80 90 72 68 100 101
1, 2, 9, 10, 20, 30, 80, 90, 100, 101
input the num to look for: 100
the position of 100 is 9
图3 程序运行效果示例03
*/
#include <stdio.h>
#define N 10
int main(void)
{
int arr[N];
int data;
int i;
int count;
// 读入10个数存放在一个数组
printf("please input 10 numbers: ");
for (i = 0; i < N; i++)
{
scanf("%d", &arr[i]);
// 某个数不是由小到大,则该数输入无效,继续读入后面的输入数据
if(i >= 1)
{
// 在第2个数开始,都要和之前的数比较,如果小就丢弃重新输入
while( arr[i] < arr[i-1])
{
scanf("%d", &arr[i]);
}
}
}
// 输出 输出宽度为5、不足5位的在其左边补上空格、数与数之间使用逗号(,)分隔
for (i = 0; i < N - 1; i++)
{
printf("%5d,", arr[i]);
}
printf("%5d\n", arr[N - 1]);
// 输入一个数
printf("\ninput the num to look for: ");
scanf("%d", &data);
// 要求找出该数是数组中第几个(序号从1开始计算)元素的值
count = 0;
for(i = 0; i < N; i++)
{
if (data == arr[i])