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

发布时间:2019-02-04 19:00:56

填空题(请将每一个空的正确答案写在答题卡相应序号后。)
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
阅读更多其他试题,请访问生活日记网 用日志记录点滴生活!考试试题频道。
喜欢考试试题,那就经常来哦

该内容由生活日记网提供.