以下程序实现:输入10个从小到大的有序数据,继续输入一个整数x,查询x是否存在于前10个数据中,如果不存在也插入x到前10个数据中,保存数列依旧从小到大有序排列;如果存在,则结束查询。请在空格中填写恰当的代码。#includeintmain(){inta[11],i,x,pos=0,flag;printf("请输入10个数字:");for(i=0;i<10;i++)//输入10从小到大的有序且不等的数字scanf("%d",&a[i]);printf("请输入查询的数据:");scanf("%d",&x);for((1),i=0;i<10;i++)//顺序查找是否有相等的数据{if(x==a[i]){flag=1;break;}elseif((2)){pos=i;break;}}if(!flag){for(i=10;(3);i--)a[i]=a[i-1];(4);}return0;}[/i][/i][/i]
举一反三
- 下列程序的主要功能是输入10个整数存入数组a,再输入一个整数x,在数组a中查找x。找到则输出x在10个整数中的序号(从1开始);找不到则输出0。程序缺少的是 。 main() { int i,a[10],x,flag=0; for(i=0;i<10;i++) scanf("%d",&a[i]); scanf("%d",&x); for(i=0;i<10;i++) if _______ {flag=i+1; break;} printf("%d ", flag); }
- 设有定义:int x[10],8p=x,i;,若要为数组x读入数据,以下选项正确的是( )。 A: for(i=0;i<10;i++)scanf(”%d“,p+i); B: for(i=0;i<10;i++)scanf(”%d“,*p+i); C: for(i=0;i<10;i++)scanf(”%d”,*(p+i)); D: for(i=0;i<10;i++)scanf(”%d”,x[i]);
- 以下程序的功能是:求出数组X中各相邻两个元素的和依次存放到a数组中,然后输出。请填空。 main() int x[10], a[9], i; for[i=0; i<10; i++) scanf("%d", &x[i]); for( (9) ; i<10; i++) a[i-1]=x[i]+ (10) ; for(i=0; i<9; i++)printf("%d", a[i]); printf(" ");[/i][/i][/i]
- 假设x数组的n个数据已经按降序排列,现在插入一个数y到数组中,使数组x仍然是降序排列的。 #include"stdio.h" main() {intx[50],y,n,i,j; printf("请输入数组元素的个数:"); scanf("%d",&n); printf("输入%d个从大到小排好顺序的整数\n",n); for(i=0;i=0;i--) if(y>x[i])【2】; elsebreak; 【3】; for(i=0;i[/i]
- #include<stdio.h> main() {int i,x; i=0; do {scanf("%d",&x); i++: }while(x%3!=0 ‖x%5!=0); printf("输入数据的个数i=%d\n",x); } 程序运行时,输入数据为:1 2 3 4……直到程序结束。 程序运行结果为: