当前位置:首页 > c 语言题库
}
参考答案:【1】j=i【2】k=i【3】a[j]=max;a[k]=min; 6.72 下面程序的运行结果是 。
main() {int i,f[10]; f[0]=f[1]=1;
for(i=2;i<10;i++) f[i]=f[i-2]+f[i-1]; for(i=0;i<10;i++)
{if(i%4==0) printf(\ printf(\ } }
参考答案: 1 1 2 3 5 8 13 21 34 55
6.73 下面程序的运行结果是 。
main()
{int a[10]={1,2,2,3,4,3,4,5,1,5}; int n=0,i,j,c,k;
for(i=0;i<10-n;i++) {c=a[i];
for(j=i+1;j<10-n;j++) if(a[j]==c)
{for(k=j;k<10-n;k++) a[k]=a[k+1]; n++; } }
for(i=0;i<10-n;i++) printf(\}
参考答案: 1 2 3 4 5
**6.74 下面程序的功能是给一维数组a任意输入6个整数,假设为7 4 8 9 1 5,然后建立一个具有以下内容的方阵并打印。请分析程序填空。
5 7 4 8 9 1 1 5 7 4 8 9 9 1 5 7 4 8 8 9 1 5 7 4 4 8 9 1 5 7 7 4 8 9 1 5 main()
{int a[6],i,j,k,m; for(i=0;i<6;i++) scanf(\ for(i=5;i>=0;i--) {k=a[5];
for(【1】;j>=0;j--)
17
a[j+1]=a[j]; 【2】;
for(m=0;m<6;m++) printf(\ printf(\ } } 参考答案:【1】j=4 【2】a[0]=k 参考分析:采用二维数组可以采用a[i][j]=a[i-1][(j-1+M)%M]的方式为0行以后的行进行赋值。
*6.78 下面程序的功能是统计年龄在16-31岁之间的学生人数。请分析程序填空。
main()
{int a[16],n,age,i;
for(i=0;i<16;i++) a[i]=0;
printf(\ scanf(\ while(age>-1) {【1】; scanf(\ }
printf(\ for(【2】;i++) printf(\}
参考答案:【1】a[age-16]++ 【2】i=16;i<=31
6.80 下面程序中的数组a包括10个整数元素,从a中第二个元素起,分别将后项减前项之差存入数组b,并按每行3个元素输出数组b。请分析程序填空。
main()
{int a[10],b[10],i; for(i=0;【1】;i++) scanf(\ for(i=1;【2】;i++) b[i]=a[i]-a[i-1]; for(i=1;i<10;i++)
{printf(\ if(【3】) printf(\ } }
参考答案:【1】i<10 【2】i<10 【3】i%3==0 **6.82下面程序的运行结果是 。
#include \#define LEN 12
int num[]={3,4,5,6,7,8,9,10,11,12,13,14}; main()
{int i,j,k,x,y; x=0;y=LEN-1;
18
while(x<=y)
{j=num[x];i=2;k=1;
while (i<=j/2&&k) //判断j是否为素数 k=j%i++; if (k)
printf(“=”,num[x++];
else //j不是素数首尾数据互换,尾指针前移 {num[x]=num[y]; num[y--]=j; } }
for (i=0;i printf(“]”,num[i]); } 参考答案: 3 13 5 11 7 参考分析:该程序对数组设臵了头尾两个下标,对数组自前向后检查各元素是否为素数,如果是则输出该元素,头下标后移,继续检查下一个元素;如果不是,则将数组后面的元素与正检查的数组元素互换,尾下标前移,继续检查,直到头下标大于尾下标。 6.83 设数组中的元素均为正整数,以下程序是求a中偶数的个数和偶数的平均值。请分析程序填空。 main() {int a[10]={1,2,3,4,5,6,7,8,9,10},k,i; float ave,s=0; for(k=s=i=0;i<10;i++) {if(a[i]%2!=0) 【1】; s+=【2】; k++; } if(k!=0) {ave=s/k;printf(\} 参考答案:【1】continue 【2】a[i] 6.84 以下程序是求矩阵a,b的和,结果存入矩阵c中,并按矩阵形式输出。请分析程序填空。 main() {int a[3][4]={{1,3,5,7},{4,7,2,5},{-8,2,5,6}}; int b[3][4]={{-2,6,7,3},{-1,5,4,7},{8,9,3,2}}; int i,j,c[3][4]; for(i=0;i<3;i++) for(j=0;j<4;j++) c[i][j]=【1】; for(i=0;i<3;i++) {for(j=0;j<4;j++) printf(\ 【2】; } } 参考答案:【1】a[i][j]+b[i][j] 【2】printf(\ 19 6.87 以下程序的功能是求数组num中小于零的数据之和。请分析程序填空。 main() {int num[20]={2,-3,51,-72,86,4,0,-23,3,-65,-1,0,5,8,2,-4,-7,-9,4,-8}; int sum=0,i; for(i=0;i<20;i++) {if(【1】) sum=【2】; } printf(\} 参考答案:【1】num[i]<0 【2】sum+num[i] 6.89 下面程序的运行结果是 。 main() {int i,j,row,col,min; int a[3][4]={{1,2,3,4},{9,8,7,6},{-1,-2,7,-5}}; min=a[0][0];row=0;col=0; for(i=0;i<3;i++) for(j=0;j<3;j++) if(a[i][j] {min=a[i][j];row=i;col=j;} printf(\} 参考答案:min=-5,row=2,col=3 参考分析:在二维数组中查找最小值及它的下标。 ***6.90 若输入52 main() {int a[8]={6,12,18,42,46,52,67,73}; int low=0,mid,high=7,x; printf(\ scanf(\ while(low<=high) {mid=(low+high)/2; if(x>a[mid]) low=mid+1; else if(x if(low<=high) printf(\ else printf(\} 参考答案:Search Successful! The index is:5 参考分析:本题为典型的折半查找,要点有三:1.循环条件为low<=high;2.查找处理是一个三分支;3.总是把中点的前点作为后点或把中点的后点作为前点。 6.92 下面程序用“顺序查找法”查找数组a中是否存在某一关键字。请分析程序填空。 main() {int a[8]={25,57,48,37,12,92,86,33}; 20
共分享92篇相关文档