单元6 拓展训练答案.docx

上传人:b****2 文档编号:294438 上传时间:2023-04-28 格式:DOCX 页数:19 大小:23.29KB
下载 相关 举报
单元6 拓展训练答案.docx_第1页
第1页 / 共19页
单元6 拓展训练答案.docx_第2页
第2页 / 共19页
单元6 拓展训练答案.docx_第3页
第3页 / 共19页
单元6 拓展训练答案.docx_第4页
第4页 / 共19页
单元6 拓展训练答案.docx_第5页
第5页 / 共19页
单元6 拓展训练答案.docx_第6页
第6页 / 共19页
单元6 拓展训练答案.docx_第7页
第7页 / 共19页
单元6 拓展训练答案.docx_第8页
第8页 / 共19页
单元6 拓展训练答案.docx_第9页
第9页 / 共19页
单元6 拓展训练答案.docx_第10页
第10页 / 共19页
单元6 拓展训练答案.docx_第11页
第11页 / 共19页
单元6 拓展训练答案.docx_第12页
第12页 / 共19页
单元6 拓展训练答案.docx_第13页
第13页 / 共19页
单元6 拓展训练答案.docx_第14页
第14页 / 共19页
单元6 拓展训练答案.docx_第15页
第15页 / 共19页
单元6 拓展训练答案.docx_第16页
第16页 / 共19页
单元6 拓展训练答案.docx_第17页
第17页 / 共19页
单元6 拓展训练答案.docx_第18页
第18页 / 共19页
单元6 拓展训练答案.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

单元6 拓展训练答案.docx

《单元6 拓展训练答案.docx》由会员分享,可在线阅读,更多相关《单元6 拓展训练答案.docx(19页珍藏版)》请在冰点文库上搜索。

单元6 拓展训练答案.docx

单元6拓展训练答案

单元6拓展训练答案

一、单项选择题

1.下列描述中不正确的是(C)。

A.字符型数组中可以存放字符串

B.可以对字符型数组进行整体输入、输出

C.可以对整型数组进行整体输入、输出

D.不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值

2.设有数组定义:

chararray[]="China";则数组array所占的空间为(C)。

A.4个字节B.5个字节C.6个字节D.7个字节

3.设有程序段:

#defineN3#defineMN+2floata[M][N];则数组a的元素个数和最后一个元素分别是(D)。

A.15,a[5][3]B.15,a[3][5]C.8,a[4][2]D.15,a[4][2]

4.设有定义:

inta[][3]={{1,2,3},{4,5,6},{7,8,9}};则a[1][2]的初值为(C)。

A.2B.4C.6D.8

5.以下数组定义中,不正确的是(B)。

A.intb[3][4];

B.intc[3][]={{1,2},{1,2,3},{4,5,6,7}};

C.intb[200][100]={0};

D.intc[][3]={{1,2,3},{4,5,6}};

6.以下数组定义中正确的是(D)。

A.floatf[3,4];B.inta[][4];

C.charc(3);D.doubled[3+2][4];

7.定义数组:

intx[2][3];则数组x的维数是(B)。

A.1B.2C.3D.6

8.以下程序执行输出结果是(A)。

#include

intmain()

{

intn[5]={0,0,0},i,k=2;

for(i=0;i

n[i]=n[i]+1;

printf("%d\n",n[k]);

return0;

}

A.0B.1C.不确定D.2

9.若有以下的定义:

intt[3][2];能正确表示t数组元素地址的表达式是(D)。

A.&t[3][2]B.t[3]C.t[1][2]D.t[2]

10.以下程序执行后输出的结果是(A)。

#include

intmain()

{

inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;

for(i=1;i<3;i++)

for(j=0;j<=i;j++)s+=a[i][j];

printf("%d\n",s);

return0;

}

A.18B.19C.20D.21

11.以下程序执行后输出的结果是(C)。

#include

intmain()

{

inti,x[3][3]={1,2,3,4,5,6,7,8,9};

for(i=0;i<3;i++)

printf("%d,",x[i][2-i]);

return0;

}

A.1,5,9,B.1,4,7,C.3,5,7,D.3,6,9,

12.以下程序执行后输出的结果是(B)。

#include

intmain()

{

inti,k,a[10],p[3];

k=5;

for(i=0;i<10;i++)a[i]=i;

for(i=0;i<3;i++)p[i]=a[i*(i+1)];

for(i=0;i<3;i++)k+=p[i]*2;

printf("%d\n",k);

return0;

}

A.20B.21C.22D.23

13.以下程序执行后输出的结果是(B)。

#include

intmain()

{

charw[][10]={"ABCD","EFGH","IJKL","MNOP"},k;

for(k=1;k<3;k++)

printf("%s\n",w[k]);

return0;

}

A.ABCDB.ABCDC.EFGD.EFG

FGHFGHJKIJKL

KLIJ

14.以下程序执行后输出的结果是(C)。

#include

intmain()

{

charch[3][5]={"AAAA","BBB","CC"};

printf("\"%s\"\n",ch[1]);

return0;

}

A.AAAAB.BBBC."BBB"D."BBBCC"

15.若有以下的定义:

intaa[8];不能代表数组元素aa[1]的地址的是(C)。

A.&aa[0]+1B.&aa[1]C.&aa[0]++D.aa+1

16.以下不能正确进行字符串赋初值的语句是(A)。

A.charstr[5]="good!

";B.charstr[]="good!

";

C.char*str="good!

";D.charstr[5]={'g','o','o','d'};

17.以下程序执行后输出的结果是(B)。

#include

intmain()

{

intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;

for(i=0;i<3;i++)

for(j=i;j<=i;j++)

t=t+b[i][b[j][j]];

printf("%d\n",t);

return0;

}

A.3B.4C.1D.9

18.以下程序运行后的输出结果是(B)。

#include

#include

intmain()

{

charch[]="abc",x[3][4];inti;

for(i=0;i<3;i++)

strcpy(x[i],ch);

for(i=0;i<3;i++)

printf("%s",&x[i][i]);

printf("\n");

return0;

}

A.abcabcabc;B.abcbcc

C.bcabcbc;D.abcbcbc;

19.以下程序是(D)。

#include

#include

intmain()

{

inti;

charstr[10],temp[10];

gets(temp);

for(i=0;i<4;i++)

{

gets(str);

if(strcmp(temp,str)>0)

strcpy(temp,str);

}

printf("%s\n",temp);

return0;

}

A.升序排序B.降序排序

C.求最大串D.求最小串

20.以下程序运行后输入串bcdafgeaabbce(此处代表回车符),则输出结果是(A)。

#include

#include

#defineN5

voidsort(chara[N][20],charstr[100])

{

inti,j;

chartemp[20];

for(i=0;i

{

for(j=0;j

if(strcmp(a[j],a[j+1])>0)

{

strcpy(temp,a[j]);

strcpy(a[j],a[j+1]);

strcpy(a[j+1],temp);

}

strcat(str,a[N-1-i]);

strcat(str,"");

}

strcat(str,a[0]);

}

intmain()

{

chara[N][20],str[100]={0};

inti;

for(i=0;i

{

gets(a[i]);

}

sort(a,str);

printf("str:

%s",str);

return0;

}

A.eabcebcdafgabB.abafgbcdbceea

C.bcdafgeaabbceD.abbceafgbceea

二、程序填空题

1.下列程序中,函数fun()的功能是:

使数组中的元素的值增加10倍,请填空。

#include

voidfun(inta[])

{

intj;

printf("\nInsubfuncaftercalling\n");

for(j=0;j<10;j++)

{

a[j]=a[j]*10;

printf("%3d",a[j]);

}

}

intmain()

{

inti,m[10];

printf("\nInmainbeforecalling\n");

for(i=0;i<10;i++)

{

m[i]=i;

printf("%3d",m[i]);

}

fun(m);

printf("\nInmainaftercalling\n");

for(i=0;i<10;i++)

printf("%3d",m[i]);

printf("\n");

return0;

}

2.将用户输入的十进制数转换成任意进制的数。

思路:

进制之间转换采用求余法。

由用户输入十进制数(用变量n表示),以及要转换的进制(用变量base表示),然后将转换的结果存储在一维数组num[32]中。

程序如下,请填空。

#include

voidconv(intnum[],intbase,intn)

{

inti=0,j;

charc;

do

{

num[i]=n%base;

n=n/base;

i++;

}while(n!

=0);

printf("\n");

printf("Answeris:

");

for(j=i-1;j>=0;j--)

{

if(num[j]<10)printf("%d",num[j]);

else

{

c='A'+num[j]-10;

printf("%c",c);

}

}

}

intmain()

{

intbase,num[32];

intn;

printf("Inputnum:

");

scanf("%d",&n);

printf("Inputbase:

");

scanf("%d",&base);

conv(num,base,n);

return0;

}

3.以下程序的功能是将字符串s中的数字字符放入d中并输出。

例如,输入字符串:

abc123edf456gh,执行程序后输出:

123456。

请填空。

#include

#include

voidfun(chars[80],chard[80])

{

inti,j;

for(i=j=0;s[i]!

='\0';i++)

{

if(s[i]>='0'&&s[i]<='9')

{

d[j]=s[i];j++;

}

}

d[j]='\0';

}

intmain()

{

chars[80],d[80];

gets(s);

fun(s,d);

puts(d);

return0;

}

三、程序阅读题

1.以下程序运行后的输出结果是(520)。

#include

#include

intmain()

{

charst[20]={"hello\0\t\\\""};

printf("%d%d\n",strlen(st),sizeof(st));

return0;

}

2.以下程序运行后的输出结果是(123789104561112)。

#include

voidfun(int*w,intn,intm)

{

inti,j,a;i=n;j=m;

while(i

{

a=w[i];

w[i]=w[j];

w[j]=a;

i++;

j--;

}

}

intmain()

{

inti,a[]={1,2,3,4,5,6,7,8,9,10,11,12};

fun(a,3,5);fun(a,6,9);fun(a,3,9);

for(i=0;i<12;i++)

printf("%3d",a[i]);

return0;

}

四、程序设计题

1.求输入任意10个整数中的正数之和及个数。

程序代码:

#include

voidcount(inta[])

{

inti,n=0,s=0;

for(i=0;i<10;i++)

{

if(a[i]>0)

{

n++;s+=a[i];

}

}

printf("正数有%d个,正数之和为:

%d\n",n,s);

}

intmain()

{

inta[10],i;

printf("请输入10个整数:

");

for(i=0;i<10;i++)

scanf("%d",&a[i]);

count(a);

return0;

}

2.求二维数组MxN周边元素之和。

#include

#defineM4

#defineN5

intfun(inta[M][N])

{

inti,s=0;

for(i=0;i

s=s+a[0][i]+a[M-1][i];

for(i=1;i

s=s+a[i][0]+a[i][N-1];

returns;

}

intmain()

{

intaa[M][N]={{1,3,5,7,9},{2,9,9,9,4},{6,9,9,9,8},{1,3,5,7,0}};

inti,j,y;

printf("原始数组为:

\n");

for(i=0;i

{

for(j=0;j

printf("%3d",aa[i][j]);

printf("\n");

}

y=fun(aa);

printf("\n周边元素之和为:

%d\n\n",y);

return0;

}

3.对二维数组NxN,使数组左下半三角元素中的值全部置成0。

程序代码:

#include

#include

#defineN9

intfun(inta[][N])

{

inti,j;

for(i=0;i

for(j=0;j<=i;j++)

a[i][j]=0;

return0;

}

intmain()

{

inta[N][N],i,j;

printf("原始数组为:

\n");

for(i=0;i

{

for(j=0;j

{

a[i][j]=rand()%10;

printf("%4d",a[i][j]);

}

printf("\n");

}

fun(a);

printf("结果数组为:

\n");

for(i=0;i

{

for(j=0;j

printf("%4d",a[i][j]);

printf("\n");

}

return0;

}

4.输入一个字符串S,再输入一个字符c,要求在字符串S中查找字符c,如果找不到则输出“没有找到!

”;若找到则输出字符串S中从c开始的所有字符。

#include

#include

intcmpout(charstr[],charch);

intmain()

{

charstr[80],ch;

printf("请输入一个字符串:

\n");

gets(str);

printf("请输入一个要查找的字符:

\n");

scanf("%c",&ch);

cmpout(str,ch);

return0;

}

intcmpout(charstr[],charch)

{

unsignedintt,i,flag=0;

for(i=0;i

{//从字符串第一个字符到最后一个字符(不是'\0')循环查找

if(str[i]==ch)

{//如果找到测用t记录下标,并使flag=1结束循环

t=i;

flag=1;

break;

}

}

if(flag==1)

for(i=t;i

printf("%c",str[i]);

else

printf("没有找到!

");

printf("\n");

return0;

}

5.输入一个不超过5位的整数,输出其中文大写形式。

如输入:

52001,则输出:

伍万贰千零壹。

#include"stdio.h"

#include"string.h"

intwrite(chara[])

{

charb[][3]={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖","拾"};

charc[][5]={"","十","百","千","万"};

inti,l,t;

i=0;

l=strlen(a)-1;

while(a[i])

{

t=a[i]-'0';

if(t)

{

printf("%s",b[t]);

printf("%s",c[l]);

}

else

if(a[i+1]!

='0'&&a[i+1]!

='\0')

printf("%s",b[t]);

l--;

i++;

}

printf("\n");

return0;

}

intmain()

{

chara[20];

printf("请输入一个不超过5位的整数:

");

gets(a);

printf("其中文大写为:

");

write(a);

return0;

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2