2011年计算机等级二级C语言章节习题及答案(11)

全国等级考试资料网 2019-01-23 14:13:46 124
填空题(请将每一个空的正确答案写在答题卡相应序号后。)
7.31 下面程序的功能是输出数组s中最大元素的下标,请填空。
main()
{ int k, p,s[]={1, -9, 7, 2, -10, 3};
for(p =0, k =p; p< 6; p++)
if(s[p]>s[k])【1】
printf("%d\n", k);
}
正确答案:k=p;
7.32 以下程序可把输入的十进制数以十六进制数的形式输出,请填空。
main()
{ char b[17]={"0123456789ABCDEF"};
int c[64],d,i=0,base=16;
long n;
printf("Enter a number:\n");scanf("%ld",&n);
do
{ c[i]=【2】;
i++;
n=n/base;
}while(n!=0);
printf("Transmite new base:\n");
for(--i;i>=0;--i)
{ d=c[i];
printf("%c",b【3】);
}
printf("\n");
}
正确答案: nose [d]
7.33 以下程序的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。
例如,若一维数组中的数据是:
2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10
删除后,数组中的内容应该是:
2 3 4 5 6 7 8 9 10。
请填空。
#include
#define N 80
int fun(int a[], int n)
{ int i,j=1;
for(i=1;iif(a[j-1]【4】a[i])
a[j++]=a[i];
【5】;
}
main()
{ int a[N]={ 2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10}, i, n=19;
printf("The original data :\n");
for(i=0; iprintf("=",a[i]);
n=fun(a,n);
printf("\nThe data after deleted :\n");
for(i=0; iprintf("=",a[i]);
printf("\n\n");
}
正确答案: != return j
7.34 下列程序的输出的结果是 【6】 , 【7】 。
main()
{ int i,j row,colum,m;
static int array[3][3]={{100,200,300},{28,72,-30}{-850,2,6}};
m=array[0][0];
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(array[i][j]<m)
{ m=array[i][j];
colum=j;
row=i;
}
printf("%d,%d,%d\n",m,row,colum);
}
正确答案:-850,~2,0
7.35 下面程序是求出数组arr的两条对角线上元素之和,请填空。
#include "stdio.h"
main()
{ int arr[3][3]={2,3,4,8,3,2,7,9,8},a=0,b=0,i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if( 【8】)
a=a+arr[i][j];
for(i=0;i<3;i++)
for( 【9】 ;j>=0;j--)
if( 【10】)
b=b+ arr[i][j];
printf("%d,%d\n",a,b);
}
正确答案:i==j j=2 i+j==2 相关资料

相关阅读