程序填空题.docx
- 文档编号:10500979
- 上传时间:2023-02-14
- 格式:DOCX
- 页数:18
- 大小:19.12KB
程序填空题.docx
《程序填空题.docx》由会员分享,可在线阅读,更多相关《程序填空题.docx(18页珍藏版)》请在冰豆网上搜索。
程序填空题
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 /*
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序 填空