执行如下程序,从键盘依次输入十个整数:'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]);
}
#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]);
}
举一反三
- 用冒泡法对十个数由小到大排序。 #include void main { int a[10],i,j,t; printf("input 10 numbers: "); for(i=0; i<10;i++) scanf("%d", (1) ); printf(" "); for(i=0;i<9;i++) for(j=i+1;j<10;j++) if(a[i]>a[j]) { (2) ; a[i]=a[j]; a[j]=t; } printf("the sorted numbers: "); for(i=0;i<10;i++) printf("%d ", a[i]); }
- 以下哪个for语句是不能编译的? A: for (i=0;j=0; i<10; i++ ); B: for (i=0,j=0; i<10; i++; j++ ); C: for (); D: for (;;); E: for ( i=0; j<10; j++ ); F: for (i=0; i<10, j<10; i++); G: for (i=0; i<10; i--);
- 【多选题】以下哪个for语句是错误的? A. for (i=0;j=0; i<10; i++ ); B. for (i=0,j=0; i<10; i++; j++ ); C. for (); D. for (i=0; i<10, j<10; i++); E. for (;;); F. for ( i=0; j<10; j++ ); G. for (i=0; i<10; i--);
- 以下哪个for语句是错误的?A.for(i=0;j=0;i<10;i++);B.for(i=0;i<10);C.for(i=0;i++);D.for(;;);E.for(i=0;i<10;i--);F.for(i=0;i<10,j<10;i++);G.for(inti=0;i<10,j<10;i++);
- 以下选项中,( )for语句是不能编译的? A: for(i=0; i<;10, j<;10; i++); B: for(i=0; j=0; i<;10; i++ ); C: for(i=0; i<;10; i--); D: for(i=0; j<;10; j++);