程序填空题.docx

上传人:b****8 文档编号:10500979 上传时间:2023-02-14 格式:DOCX 页数:18 大小:19.12KB
下载 相关 举报
程序填空题.docx_第1页
第1页 / 共18页
程序填空题.docx_第2页
第2页 / 共18页
程序填空题.docx_第3页
第3页 / 共18页
程序填空题.docx_第4页
第4页 / 共18页
程序填空题.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

程序填空题.docx

《程序填空题.docx》由会员分享,可在线阅读,更多相关《程序填空题.docx(18页珍藏版)》请在冰豆网上搜索。

程序填空题.docx

程序填空题

1.0下列给定程序中,函数fun的功能是:

计算如下公式

#include

doublefun(doublee)

{inti,k;doubles,t,x;

s=0;k=1;i=2;

/**********found**********/

x=__1__/4;--------------/3.0

/**********found**********/

while(x__2__e)-------------------------->

{s=s+k*x;

k=k*(-1);

t=2*i;

/**********found**********/

x=__3__/(t*t);------------------(t+1)

i++;

}

returns;

}

main()

{doublee=1e-3;

printf("\nTheresultis:

%f\n",fun(e));

}

2.下列给定程序中,函数fun的功能是:

计算如下公式前n项的和并作为函数值返回。

S=1x3/2x2+3x5/4x4+5x7/6x6+……+(2*n-1)x(2*n+1)/(2*n)x(2*n)

例如,当形参n的值为10时,函数返回值为9.612558.。

请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。

注意:

部分源程序在文件BLANK.C中。

不得增行或删行,也不得更改程序的结构!

#include

doublefun(intn)

{inti;doubles,t;

/**********found**********/

s=__1__;/--------0

/**********found**********/

for(i=1;i<=__2__;i++)/--------n

{t=2.0*i;

/**********found**********/

s=s+(2.0*i-1)*(2.0*i+1)/__3__;/-----------(t*t)

}

returns;

}

main()

{intn=-1;

while(n<0)

{printf("Pleaseinput(n>0):

");scanf("%d",&n);}

printf("\nTheresultis:

%f\n",fun(n));

3.给定程序中,函数fun的功能是:

统计形参s所指的字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。

例如,若形参s所指的字符串为“abcdef35adgh3kjsdf7”,则输出结果为4.。

请在下划线处填入正确内容并将瞎换先删除,使程序得出正确的结果。

注意:

部分源程序文件在文件BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

#include

voidfun(char*s,int*t)

{inti,n;

n=0;

/**********found**********/

for(i=0;___1___!

=0;i++)---------------s[i]

/**********found**********/

if(s[i]>='0'&&s[i]<=___2___)n++;-----------------‘9’

/**********found**********/

___3___;------------------*t=n

}sss

main()

{chars[80]="abcdef35adgh3kjsdf7";

intt;

printf("\nTheoriginalstringis:

%s\n",s);

fun(s,&t);

printf("\nTheresultis:

%d\n",t);

}

4.下列给定程序中,函数fun的功能是:

把形参a所指数组中的奇数依次存放到a[0]、a[1]、a[2]、…….中,把偶数从数组中删除,奇数个数通过函数值返回。

例如:

若a指数组中的数据最初排列为:

9、1、4、2、3、6、5、8、7,删除偶数后a所指数组中的数据:

9、1、3、5、7,返回值为5.。

请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。

注意:

部分源程序在文件PROG1.C中。

不得增行或删行,也不得更改程序的结构!

#include

#defineN9

intfun(inta[],intn)

{inti,j;

j=0;

for(i=0;i

/**********found**********/

if(a[i]%2==___1___)1

{

/**********found**********/

a[j]=a[i];___2___;j++

}

/**********found**********/

return___3___;j

}

main()

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

printf("\nTheoriginaldata:

\n");

for(i=0;i

printf("\n");

n=fun(b,N);

printf("\nThenumberofodd:

%d\n",n);

printf("\nTheoddnumber:

\n");

for(i=0;i

printf("\n");

}

5.下列给定过程中,函数fun的功能是:

将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新数,并作为函数值返回。

例如,输入一个整数27638496,函数返回值为64862。

#include

unsignedlongfun(unsignedlongn)

{unsignedlongx=0;intt;

while(n)

{t=n%10;

/**********found**********/

if(t%2==____1____)-----------0

/**********found**********/

x=____2____+t;--------------10*x

/**********found**********/

n=____3____;--------------n/10

}

returnx;

}

main()

{unsignedlongn=-1;

while(n>99999999||n<0)

{printf("Pleaseinput(0

");scanf("%ld",&n);}

printf("\nTheresultis:

%ld\n",fun(n));

}

6.下列给定过程中,函数fun的功能是:

把形参a所指数组中最小值放在元素a[]中,接着把a所指数组中最大值放在a[1]元素中;再把a所指数组元素中的次小值放在a[2]中,把a所指数组元素中的次大值放在a[3],以此类推。

例如,若a所指数组中的数据最初排列为:

9、1、4、2、3、6、5、8、7;则按规移动后,数据排列为:

1、9、2、8、3、7、4、6、5.形参n中存放a所指数组中数据的个数。

#include

#defineN9

voidfun(inta[],intn)

{inti,j,max,min,px,pn,t;

for(i=0;i

{

/**********found**********/

max=min=___1___;----------------a[i]

px=pn=i;

for(j=i+1;j

/**********found**********/

if(max<___2___)-----------------a[j]

{max=a[j];px=j;}

/**********found**********/

if(min>___3___)----------------a[j]

{min=a[j];pn=j;}

}

if(pn!

=i)

{t=a[i];a[i]=min;a[pn]=t;

if(px==i)px=pn;

}

if(px!

=i+1)

{t=a[i+1];a[i+1]=max;a[px]=t;}

}

}

main()

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

printf("\nTheoriginaldata:

\n");

for(i=0;i

printf("\n");

fun(b,N);

printf("\nThedataaftermoving:

\n");

for(i=0;i

printf("\n");

}

7.0下列给定程序中,函数fun的功能是进行数字字符转换。

若形参ch中是数字字符‘0’~’9’,则将‘0’转换成‘9’,‘1’转换成‘8’,‘2’转换成‘7’,·····,‘9’转换成‘0’;若是其他字符则保持不变;并将转换后的结果作为函数值返回。

#include

/**********found**********/

___1___fun(charch)------------------char

{

/**********found**********/

if(ch>='0'&&___2___)----------------ch<=’9’

/**********found**********/

return'9'-(ch-___3___);-------------‘0’

returnch;

}

main()

{charc1,c2;

printf("\nTheresult:

\n");

c1='2';c2=fun(c1);

printf("c1=%cc2=%c\n",c1,c2);

c1='8';c2=fun(c1);

printf("c1=%cc2=%c\n",c1,c2);

c1='a';c2=fun(c1);

printf("c1=%cc2=%c\n",c1,c2);

}

8.0下列给定程序中,函数fun的功能是:

求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指的变量中。

Ss所指字符串数组中共有M个字符串,且串长小于N。

#include

#include

#defineM5

#defineN20

intfun(char(*ss)[N],int*n)

{inti,k=0,len=N;

/**********found**********/

for(i=0;i<___1___;i++)--------------M

{len=strlen(ss[i]);

if(i==0)*n=len;

/**********found**********/

if(len___2___*n)---------------------<

{*n=len;

k=i;

}

}

/**********found**********/

return(___3___);-------------k

}

main()

{charss[M][N]={"shanghai","guangzhou","beijing","tianjing","chongqing"};

intn,k,i;

printf("\nTheoriginalstringsare:

\n");

for(i=0;i

k=fun(ss,&n);

printf("\nThelengthofshorteststringis:

%d\n",n);

printf("\nTheshorteststringis:

%s\n",ss[k]);

}

9.0下列给定程序中,函数fun的功能是:

将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的次序。

例如:

s所指的字符串为“def35adh3kjsdf7”,执行后结果为“defadhajsdf3537”。

#include

voidfun(char*s)

{inti,j=0,k=0;chart1[80],t2[80];

for(i=0;s[i]!

='\0';i++)

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

{

/**********found**********/

t2[j]=s[i];___1___;----------------------

(1)j++或j+=1或++j或j=j+1

}

elset1[k++]=s[i];

t2[j]=0;t1[k]=0;

/**********found**********/

for(i=0;i

(2)s[i]=t1[i]

/**********found**********/

for(i=0;i<___3___;i++)s[k+i]=t2[i];------------------------(3)j

}

main()

{chars[80]="ba3a54j7sd567sdffs";

printf("\nTheoriginalstringis:

%s\n",s);

fun(s);

printf("\nTheresultis:

%s\n",s);

}

10.下列给定程序中已建立一个带头节点的单向链表,链表中的各结点按结点数据域中的数据递增有序连接。

函数fun飞功能是:

把形参x的值放入一个新结点并插入链表中,使插入后各结点数据域中的数据仍保持递增有序。

#include

#include

#defineN8

typedefstructlist

{intdata;

structlist*next;

}SLIST;

voidfun(SLIST*h,intx)

{SLIST*p,*q,*s;

s=(SLIST*)malloc(sizeof(SLIST));

/**********found**********/

s->data=___1___;--------------x

q=h;

p=h->next;

while(p!

=NULL&&x>p->data){

/**********found**********/

q=___2___;-----------------p

p=p->next;

}

s->next=p;

/**********found**********/

q->next=___3___;----------------------s

}

SLIST*creatlist(int*a)

{SLIST*h,*p,*q;inti;

h=p=(SLIST*)malloc(sizeof(SLIST));

for(i=0;i

{q=(SLIST*)malloc(sizeof(SLIST));

q->data=a[i];p->next=q;p=q;

}

p->next=0;

returnh;

}

voidoutlist(SLIST*h)

{SLIST*p;

p=h->next;

if(p==NULL)printf("\nThelistisNULL!

\n");

else

{printf("\nHead");

do{printf("->%d",p->data);p=p->next;}while(p!

=NULL);

printf("->End\n");

}

}

main()

{SLIST*head;intx;

inta[N]={11,12,15,18,19,22,25,29};

head=creatlist(a);

printf("\nThelistbeforeinserting:

\n");outlist(head);

printf("\nEnteranumber:

");scanf("%d",&x);

fun(head,x);

printf("\nThelistafterinserting:

\n");outlist(head);

}

11.下列给定程序中,函数fun的功能是:

将形参a所指数组中的前半部分元素中的值与与后半部分元素中的值对换。

形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动。

例如:

若a所指数组中的数据为:

1、2、3、4、5、6、7、8、9,则调换后为:

6、7、8、9、5、1、2、3、4.。

#include

#defineN9

voidfun(inta[],intn)

{inti,t,p;

/**********found**********/

p=(n%2==0)?

n/2:

n/2+___1___;-------------------1

for(i=0;i

{

t=a[i];

/**********found**********/

a[i]=a[p+___2___];-------------------i

/**********found**********/

___3___=t;-----------a[p+i]或*(a+p+i)

}

}

main()

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

printf("\nTheoriginaldata:

\n");

for(i=0;i

printf("\n");

fun(b,N);

printf("\nThedataaftermoving:

\n");

for(i=0;i

printf("\n");

}

12.下列给定程序中,函数fun的功能是:

从形参ss所指字符数组中,删除所有串长超过k的字符串的,函数返回剩余字符串的个数。

Ss所指字符串数组中共有N个字符串,且串长小于M。

#include

#include

#defineN5

#defineM10

intfun(char(*ss)[M],intk)

{inti,j=0,len;

/**********found**********/

for(i=0;i<__1__;i++)---------------N

{len=strlen(ss[i]);

/**********found**********/

if(len<=__2__)--------------------k

/**********found**********/

strcpy(ss[j++],__3__);-------------------ss[i]

}

returnj;

}

main()

{charx[N][M]={"Beijing","Shanghai","Tianjing","Nanjing","Wuhan"};

inti,f;

printf("\nTheoriginalstring\n\n");

for(i=0;i

f=fun(x,7);

printf("Thestringwitchlengthislessthanorequalto7:

\n");

for(i=0;i

}

13.下列给定程序中,函数fun的功能是:

把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:

字符串的长度大于等于2).。

#include

voidfun(char*s)

{inti,n,k;charc;

n=0;

for(i=0;s[i]!

='\0';i++)n++;

/**********found**********/

if(n%2==0)k=n-___1___;

elsek=n-2;

/**********found**********/

c=___2___;

for(i=k-2;i>=1;i=i-2)s[i+2]=s[i];

/**********found**********/

s[1]=___3___;

}

main()

{chars[80]="abcdefgh";

printf("\nTheoriginalstringis:

%s\n",s);

fun(s);

printf("\nTheresultis:

%s\n",s);

}

14.下列给定程序中,函数fun的功能是:

在形参ss所指字符串中查找与形参t所指字符串相同的串,找到后返回该串在字符串数组中的位置(即下标值),若未找到则返回-1.。

ss所指字符串数组中共有N个内容不同的字符串,且串长小于M。

#include

#include

#defineN5

#defineM8

intfun(char(*ss)[M],char*t)

{inti;

/**********found**********/

for(i=0;i<__1__;i++)----------------------N

/*

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

当前位置:首页 > 外语学习 > 英语学习

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

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