第6章 函数Word文档下载推荐.docx

上传人:b****5 文档编号:21548685 上传时间:2023-01-31 格式:DOCX 页数:20 大小:26.43KB
下载 相关 举报
第6章 函数Word文档下载推荐.docx_第1页
第1页 / 共20页
第6章 函数Word文档下载推荐.docx_第2页
第2页 / 共20页
第6章 函数Word文档下载推荐.docx_第3页
第3页 / 共20页
第6章 函数Word文档下载推荐.docx_第4页
第4页 / 共20页
第6章 函数Word文档下载推荐.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

第6章 函数Word文档下载推荐.docx

《第6章 函数Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《第6章 函数Word文档下载推荐.docx(20页珍藏版)》请在冰豆网上搜索。

第6章 函数Word文档下载推荐.docx

z=x;

x=y;

y=z;

voidfun2(int*x,int*y)

{intz;

z=*x;

*x=*y;

*y=z;

(*x)++;

(*y)++;

{inta=5,b=9;

fun1(&

b);

a=%d,b=%d\n"

fun2(&

main函数中第一个printf输出结果为()。

(A)a=9,b=5(B)a=5,b=9(C)a=10,b=6(D)a=6,b=10

main函数中第二个printf输出结果为()。

1、读下面程序,回答问题。

#include"

voidsort(inta[],intn)

inti,j,t;

for(i=0;

i<

n-1;

i++)

for(j=0;

j<

i;

j++)

if(a[j]>

a[i])

{t=a[j];

a[j]=a[i];

a[i]=t;

intx[10]={1,0,-76,4,8,12,65,100,-45,123};

inti;

sort(x+5,5);

%d"

x[5]);

(1)程序中sort函数的功能是()

(A)用起泡法对含有n个元素的数组a从小到大的排序

(B)用选择法对含有n个元素的数组a从大到小的排序

(C)用二分法对含有n个元素的数组a从小到大的排序

(D)用起泡法对含有n个元素的数组a从大到小的排序()

(2)该程序的运行输出结果为()

(A)-76(B)-45(C)8(D)123

2、读程序并回答问题

voidfun(int*a,intbott,inttop)

i=bott;

j=top;

while(i<

j)

{t=a[i];

a[i]=a[j];

a[j]=t;

i++;

j--;

}

inta[10]={1,2,3,4,5,6,7,8,9,0},i;

fun(a,0,3);

fun(a,4,9);

fun(a,0,9);

10;

%d"

a[i]);

函数fun的功能是()。

(A)将下标为bott到top之间的数组元素逆置

(B)将下标为bott到top之间数组元素进行升序排列

(C)将下标为bott到top之间数组元素进行降序排列

(D)将下标为bott和下标为top的两个元素互换

程序的运行结果为()。

(A)0987654321(B)4321098765(C)5678901234(D)0987651234

3、在下面程序中(考点:

数组、函数(地址参数)、删除字符算法)

voidfun(char*s)

inti,j;

for(i=0,j=0;

s[i]!

='

\0'

i++)

if(s[i]>

0'

&

&

s[i]<

9'

{s[j]=s[i];

j++;

s[j]='

chars[20]="

ab12cd34"

fun(s);

%3d%3d\n"

sizeof(s),strlen(s));

%s\n"

s);

(1)第1个printf输出的结果为(26)。

(A)88(B)208(C)2020(D)204

(2)第2个printf输出的结果为(27)。

(A)abcd(B)ab12cd(C)1234(D)ab12cd34

1、以下程序的功能是,求出100至300之间符合下述条件的所有整数输出。

整数的百位、十位、个位数字之和为5

并在main函数中输出这些整数的个数。

请将程序补充完整。

#defineN300

intfun(intn)

intg,s,b,i,count=0;

for(i=100;

n;

{

g=i%10;

s=;

b=i/100;

if()

printf(“%5d”,i);

count++;

returncount;

intmain()

intcnt;

printf(“Numbersare:

\n”);

cnt=;

printf(“\n%dnumberstotal\n”,cnt);

return0;

2、用以下程序求出数组a中所有素数的和,函数fun的功能是判断形参n是否为素数,是素数返回1,不是返回0。

if(n<

=1)

return0;

else

{for(i=2;

=n/2;

if(①==0)return0;

②;

inti,a[10],sum=0;

scanf("

&

a[i]);

if(③==1)

sum=sum+a[i];

//是素数,相加

sum=%d\n"

sum);

3、以下程序的功能是求出小于或等于lim的所有素数并放在数组aa中,

fun()函数返回所求的素数的个数。

#include<

#defineMAX100

1fun(intlim,intaa[MAX])

inti,j,m=0;

for(i=2;

lim;

for(j=2;

j++)

if(i%j==0)

2;

if(③)

aa[m++]=i;

returnm;

inti,m,lim,aa[MAX];

printf("

lim="

);

scanf("

lim);

m=fum(lim,aa);

for(i=0;

m;

%5d"

aa[i]);

\nm=%d"

m);

4、下面程序中函数sort的功能是对a数组中的数据进行由大到小的排序。

#defineN10

voidsort(inta[])

N-1;

for(j=i+1;

①;

j++)

if(a[i]②a[j])

{t=a[i];

a[i]=a[j];

a[j]=t;

intmain(void)

inta[N]={1,2,3,4,5,6,7,8,9,10},i;

sort(③);

N;

printf("

%3d"

\n"

5、下面程序的功能是将数字字符串转换成对应的十进制整数。

#include<

longfun(charstr[]);

chardatastring[10];

longdata;

Inputdatastring:

"

%s"

datastring);

data=fun(datastring);

outputnumber:

%ld\n"

data);

longfun(charstr[])

___①________;

str[i]!

i_++)

data=data*10+(___②______);

return___③______;

5、下面函数fun()的功能是从NUM个字符中找出一个最长的一个字符串,并返回该串地址。

string.h>

#defineNUM80

void*fun(char①)

inti;

char*max;

max=a[0];

NUM;

if(strlen(max)<

str(a[i]))

②;

return③;

chara[NUM][100];

gets(a[i]);

fun(s));

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

查找字符串str中指定字符ch出现的次数并返回,并将该字符出现时的下标位置记录于数据组bb中。

例如在字符串"

1233211234567"

中查找字符'

1'

,其结果为3次,下标分别为0,5,6。

请填空。

#defineN20

intfun(char*str,charch,int*bb)

inti=0,n=0;

while(*str)

if()

bb[]=i;

str++;

i++;

return;

charstr[N],ch;

intbb[N]={0},i,n;

\nInputtheoriginalstring:

gets(str);

\nInputcharacter:

%c"

ch);

n=fun(str,ch,bb);

\nThenumberofcharacteris:

%d\n"

n);

\nThesuffixofcharacter:

bb[i]);

1.函数fun的功能是:

将n×

n(1<

n<

=10)方阵的下三角(包括对角线元素)×

m,

例如:

123若m=2,则处理后的方阵为:

223

4568106

789141618

在main函数中调用fun函数,并分行输出处理后的方阵。

矩阵处理算法)

voidfun(inta[][10],intn,intm)

for(j=0;

=①;

a[i][j]=a[i][j]*m;

intw[10][10]={{1,2,3},{4,5,6},{7,8,9}},m,i,j;

m);

fun(②,3,m);

3;

%4d"

w[i][j]);

printf(③);

6.有如下程序(考点:

字符数组、函数(地址参数)、逻辑表达式)

voidfun(char*s,char*t1,char*t2)

inti,j=0;

if(i%2&

(s[i]>

s[i]<

z'

))

t1[i]=s[i]-'

+'

t1[i]=s[i];

t2[j]=s[i];

t1[i]=t2[j]='

2abcde3fg45"

t1[20],t2[20];

fun(s,t1,t2);

puts(t1);

puts(t2);

(1)程序中第一个puts的输出结果为(36)

36(A)abcdefg(B)2345(C)2AbCdE3Fg45(D)2aBcDe3fG45

(2)程序中第二个puts的输出结果为(37)

37(A)abcdefg(B)2345(C)2AbCdE3Fg45(D)2aBcDe3fG45

2.有如下程序(考点:

函数、字符数组)

charc;

c=s[0];

for(i=1;

s[i-1]=s[i];

s[i-1]=c;

chars[10]="

abcdefg"

=3;

puts(s);

}

函数fun的功能是()。

28(A)左移一个字符,并将第一个字符放到字符串末尾

(B)右移一个字符,并将最后一个字符放到字符串开头

(C)删除第一个字符(D)删除最后一个字符

程序的运行结果是()。

29(A)bcdefga(B)defgabc(C)efgabcd(D)bcdefg

2.函数fun的功能是:

求出无符号十进制数n中包含0的个数,及各位数字的最大值。

最大值通过函数值返回,0的个数通过形参指针zero带回。

在main函数中输入n的值,调用fun函数并输出结果。

n=300800,则0的个数为4,各位数字的最大值为8。

求最值、整数的分解算法)

intfun(unsignedintn,int*zero)

{intcnt=0,max=0,t;

while(n!

=0)

{t=;

if(t==0)cnt++;

if(max<

t)max=t;

n=n/10;

=cnt;

returnmax;

{unsignedintn;

intzero,max;

Inputn:

%u"

n);

max=fun(③);

max=%d,zero=%d\n"

max,zero);

递归调用

1、阅读下面的程序:

intfun(intn)

if(n==1)

return1;

else

return(n+fun(n-1));

intx;

x);

x=fun(x);

fun(100)=100+fun(99)=100+99+fun(98)

x);

(1)执行程序时,给变量x输入100,程序的输出结果是()。

A)5050B)5040C)6050D)4050

(2)该函数的功能是()。

A)利用递归函数计算n+n+1B)利用递归函数计算n+n-1+...+1

C)利用递归函数计算n+n-1+1D)以上都不是

2、阅读下面的程序:

fun(intn)

if(n<

1)

return(n*fun(n-1));

(1)如果执行程序时给变量x输入7,则程序的输出结果是()。

A)5040B)5050C)6050D)4200

(2)该fun()函数的功能是()。

A)利用递归函数计算n*(n-1)B)利用递归函数计算n*(n-1)*1

C)利用递归函数计算n*(n-1)*...*1D)计算n的值

3、对于如下程序

longfun(intn)

longs;

if(n==1||n==2)

s=2;

else

s=n+fun(n-1);

return(s);

longx;

x=fun(4);

}()程序的运行结果是()。

(A)5(B)7(C)9(D)11

4、读程序并回答问题。

longz;

if(n==0||n==1)z=1;

elsez=n*fun(n-2);

returnz;

intn;

z=fun(n);

z);

若输入n的值为6,则程序的输出结果为(28)。

(A)21(B)15(C)48(D)720

(B)longfun(intn)

for(i=n,z=0;

i>

0;

i-=2)

z=z+i;

以下哪个非递归程序与函数fun的功能相同(29)。

(A)longfun(intn)

for(i=n,z=1;

z=z*i;

retrunz;

}

(D)longfun(intn)

i--)

(C)longfun(intn)

5、有如下程序:

递归函数)

inty;

if(n==1)

y=1;

elseif(n==2)

y=2;

y=n+fun(n-2);

returny;

intx;

fun(x));

若输入x的值为8,则程序的输出结果为(36)。

(A)16(B)36(C)30(D)20

与函数fun等价的非递归程序为(37)。

(A)intfun(intn)(B)

{inti,s=0;

for(i=n;

=1;

i=i-2)

s=s+i;

returns;

(C)intfun(intn)(D)

命令行参数

1、下列程序编译连接后生成可执行文件CAD.EXE,输入以下命令行:

CADFILE1FILE2<

CR>

(<

表示回车)

命令行参数)

voidmain(intargc,char*argv[])

argc);

=argc-1;

argv[i]);

(A)2(B)3

cadfile1file2cadfile1file2

(C)2(D)3

CAD.EXEFILE1FILE2CAD.EXEFILE1FILE2

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

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1