C语言例题解析数组
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
printf(“Enter a number:”);_______; a[0]=x;i=n; while(a[i]>x){a[__]=a[i];_______} a[___]=x;n++; for (i=1;i<=_____;i++)printf(“%4d”,a[i]); printf(“\n”): }
#define N 11 main() { int i,j,a[N+1][N+1];
for (i=1;i<N;i++){a[i][i]=1;a[j][1]=1;} for (______;i<N;i++)
for (j=2;j<____;j++) a[i][j]=____; for (i=1;i<N;i++)
例题解析
数组的使用
选择题
1.若有说明:int a[10];则对a数组元素的 正确引用是:
A. a[10] B. a[3,5] C. a(5) D. a[10-10] 2. 以下对二维数组a的正确说明是: A. int a[3][]; B. float a(3,4); C. double a[1][4] D. int a[10]={10*1}
2. 以下程序分别在a数组和b数组 中放入an+1和bn+1个由小到大的 有序数,程序把两个数组中的数按 由小到大的顺序归并到c数组中.
#include <stdio.h> main() { int a[10]={1,2,5,8,9,10};an=5;
int b[10]={1,3,4,8,12,18};bn=5; int i,j,k,c[20],max=9999; a[an+1]=b[bn+1]=max; i=j=k=0; while ((a[i]!=max)||(b(j)!=max))
if (a[i]<b[j]){c[k]=___;k++;___; else {c[k]=____;k++;___;} for( i=0;i<k;i++)printf(“%4d”,c[i]); printf(“\n”): }
下面程序输出如下杨辉三角.
1 11 121 1 331 1 4641 ………………….
(2)其中continue语 句的作用是_____;
(3)标记红色语句的 作用是____.
for (i=16;i<1000;i++)
{ if (i%17!=0) continue;
j++;
printf((j==4)?j=0,”%d\n”:”%d\t”,i);
来自百度文库
}
}
{ j=50-2*i-1;while(j>0){printf(“ ”);j--} for (j=1;j<=i;j++) printf(“%4d”,a[i][j]); printf(“\n”);
} printf(“\n”); }
分析程序
问题:(1)程序功能是___;
#include <stdio.h> main() { int i,j=0;
3. 若有以下说明语句,则输出结果是:___ char sp[]=“\x69\082\n”; printf(“%d”,strlen(sp));
A.3 B. 5 C. 1 D. 字符串中有非法字符,输出值不定
4. int x=3; do {printf(“%2d\n”,x-=2);}while (!(--x)
的输出是_____ A. 1 B. 1, -2 C. 3, 0 D. 是死循环
填充题
1. 以下程序把一由小到大的数列放在 a[1]到a[n]中,a[0]用做工作单元,程序 把读入的x值插入到a 数组中,插入后, 数组中的数仍然有序,请填充.
#include <stdio.h> main() { int a[10]={0,12,17,20,25,28},x,i,n=5;
#define N 11 main() { int i,j,a[N+1][N+1];
for (i=1;i<N;i++){a[i][i]=1;a[j][1]=1;} for (______;i<N;i++)
for (j=2;j<____;j++) a[i][j]=____; for (i=1;i<N;i++)
例题解析
数组的使用
选择题
1.若有说明:int a[10];则对a数组元素的 正确引用是:
A. a[10] B. a[3,5] C. a(5) D. a[10-10] 2. 以下对二维数组a的正确说明是: A. int a[3][]; B. float a(3,4); C. double a[1][4] D. int a[10]={10*1}
2. 以下程序分别在a数组和b数组 中放入an+1和bn+1个由小到大的 有序数,程序把两个数组中的数按 由小到大的顺序归并到c数组中.
#include <stdio.h> main() { int a[10]={1,2,5,8,9,10};an=5;
int b[10]={1,3,4,8,12,18};bn=5; int i,j,k,c[20],max=9999; a[an+1]=b[bn+1]=max; i=j=k=0; while ((a[i]!=max)||(b(j)!=max))
if (a[i]<b[j]){c[k]=___;k++;___; else {c[k]=____;k++;___;} for( i=0;i<k;i++)printf(“%4d”,c[i]); printf(“\n”): }
下面程序输出如下杨辉三角.
1 11 121 1 331 1 4641 ………………….
(2)其中continue语 句的作用是_____;
(3)标记红色语句的 作用是____.
for (i=16;i<1000;i++)
{ if (i%17!=0) continue;
j++;
printf((j==4)?j=0,”%d\n”:”%d\t”,i);
来自百度文库
}
}
{ j=50-2*i-1;while(j>0){printf(“ ”);j--} for (j=1;j<=i;j++) printf(“%4d”,a[i][j]); printf(“\n”);
} printf(“\n”); }
分析程序
问题:(1)程序功能是___;
#include <stdio.h> main() { int i,j=0;
3. 若有以下说明语句,则输出结果是:___ char sp[]=“\x69\082\n”; printf(“%d”,strlen(sp));
A.3 B. 5 C. 1 D. 字符串中有非法字符,输出值不定
4. int x=3; do {printf(“%2d\n”,x-=2);}while (!(--x)
的输出是_____ A. 1 B. 1, -2 C. 3, 0 D. 是死循环
填充题
1. 以下程序把一由小到大的数列放在 a[1]到a[n]中,a[0]用做工作单元,程序 把读入的x值插入到a 数组中,插入后, 数组中的数仍然有序,请填充.
#include <stdio.h> main() { int a[10]={0,12,17,20,25,28},x,i,n=5;