举一反三
- 下列程序的主要功能是输入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……直到程序结束。 程序运行结果为:
内容
- 0
【填空题】void main() {int a[10],b[10],i; for(i=0;i<10;i++) scanf("%d",&a[i]); for( 【1】 ;i<10;i++) b[i]=a[i-1]+a[i] ; for(i=1;i<10;i++) {printf("%3d",b[i]); if( 【2】 ==0) printf(" "); } }
- 1
下列程序的功能是从键盘上输入10个实型数存入数组,然后按输入顺序的逆序输出这10个数,请填空。 main() { float a[10]; int i; for(i=0 ; i<10 ; i++) scanf(“%f”,&a[i]); for(i=9;【1】; 【2】) printf(“%10.2f”,【3】); return 0; }
- 2
下面程序中的数组 a 包括 10 个整数元素,从 a 中第二个元素起,分别将后项减前项之差存入数组 b,并按每行 3 个元素输出数组 b。请填空。 main( ) { int a[10],b[10], i for(i=0;i<10; i++) scanf( “ %d”,&a[i]) ; for(i=1;____ ___; i++) b[i]=___ ____; for(i=1;i<10;i++) { printf( “ %3d”,b[i]); if (__ __) printf( “ ”); } }
- 3
执行如下程序,从键盘依次输入十个整数:'1000123020',则输出时a[4]的值是多少? #include'stdio.h' voidmain(){ inta[10]; inti,j; for(i=0;i<10;i++) scanf('%d',&a[i]); for(i=0;i<10;i++){ if(a[i]==0){ j=i; while(j<10-1&&a[j]==0) j++; a[i]=a[j]; a[j]=0; } } for(i=0;i<10;i++) printf('%d ',a[i]); }
- 4
输入10个数,将10个整数按升序排列输出,并且奇数在前,偶数在后。如果输入的10个数是:10 9 8 7 6 5 4 3 2 1 ,则输出:1 3 5 7 9 2 4 6 8 10。(编程提示:可利用2个数组变量,一个用来存放输入的整数,输入后,对这个数组进行排序,然后将数据复制到另一个数组中,先复制奇数再复制偶数)。 程序运行结果如下:Input 10 numbers:3 12 7 65 8 4 17 25 36 50↙Output: 3,7,17,25,65,4,8,12,36,50在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include int main(){ int arr[10], brr[10]; int i, j, tmp; printf(Input 10 numbers: ); for (i = 0; i < 10; i++) { scanf(%d, &arr[i]); } for (i = 0; i < 9; i++) { for (j = i + 1; j < 10; j++) { if (____________) { tmp = arr[i]; arr[i] = arr[j]; arr[j] = tmp; } } } for (i = 0, j = 0; i < 10; i++) { if (__________) { brr[j++] = arr[i]; } } for (i = 0; i < 10; i++) { if (___________) { brr[j++] = arr[i]; } } printf(Output: ); for (i = 0; i < 10; i++) { if (i < 9) { printf(%d,, brr[i]); } else { printf(%d , brr[i]); } }}