C语言程序填空.docx
- 文档编号:7367438
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:15
- 大小:17.61KB
C语言程序填空.docx
《C语言程序填空.docx》由会员分享,可在线阅读,更多相关《C语言程序填空.docx(15页珍藏版)》请在冰豆网上搜索。
C语言程序填空
1.功能:
已定义一个含有30个元素的数组s,函数fun1的功能是按
顺序分别赋予各元素从2开始的偶数,函数fun2则按顺序
每五个元素求一个平均值,并将该值存放在数组w中。
#include
longints[30];
floatw[6];
fun1(longints[])
{
intk,i;
for(k=2,i=0;i<30;i++)
{
/***********SPACE***********/
【?
】;
k+=2;
}
}
fun2(longints[],floatw[])
{
floatsum=0.0;
intk,i;
for(k=0,i=0;i<30;i++)
{
sum+=s[i];
/***********SPACE***********/
【?
】;
{
w[k]=sum/5;
/***********SPACE***********/
【?
】;
k++;
}
}
}
main()
{
inti;
fun1(s);
/***********SPACE***********/
【?
】;
for(i=0;i<30;i++)
{
if(i%5==0)printf("\n");
printf("%8.2f",s[i]);
}
printf("\n");
for(i=0;i<6;i++)
printf("%8.2f",w[i]);
}
(答案1)s[i]=k或s[i]=(i+1)*2
(答案2)if((i+1)%5==0)或if((i+1)/5*5==i+1)
(答案3)sum=0或sum=0.0
(答案4)fun2(s,w)
2.功能:
十个小孩围成一圈分糖果,老师分给第一个小孩10块,第二
个小孩2块,第三个小孩8块,第四个小孩22块,第五个
小孩16块,第六个小孩4块,第七个小孩10块,第八个小孩
6块,第九个小孩14块,第十个小孩20块。
然后所有的小孩
同时将自己手中的糖分一半给左边的小孩;糖块数为奇数的人
可向老师要一块。
问经过这样几次调整后大家手中的糖的块数
都一样?
每人各有多少块糖?
-------------------------------------------------------*/
#include
main()
{
inti,count=0,a[11]={0,10,2,8,22,16,4,10,6,14,20};
/***********SPACE***********/
while(【?
】)
{
for(i=1;i<=10;i++)
a[i-1]=a[i-1]/2+a[i]/2;
a[10]=a[10]/2+a[0];
for(i=1;i<=10;i++)
/***********SPACE***********/
if(【?
】)a[i]++;
for(i=1;i<10;i++)
/***********SPACE***********/
if(a[i]!
=a[i+1])【?
】;
if(i==10)
break;
else
{
a[0]=0;
count++;
}
}
printf("count=%dnumber=%d\n",count,a[1]);
}
答案:
=======(答案1)=======
1
=======(答案2)=======
a[i]%2==1
=======(答案3)=======
break
功能:
用等分法在有序的循环数组中,找到最小元素的位置。
-------------------------------------------------------*/
#include
intcyclic_min(intx[],intn)
{
intleft=0;
intright=n-1;
intmid;
/***********SPACE***********/
while(【?
】)
{
mid=(left+right)/2;
if(x[mid] /***********SPACE***********/ 【? 】; else /***********SPACE***********/ 【? 】; } returnleft; } #include voidmain(void) { intx[]={20,23,28,35,39,40,42,8,10,15,17,19}; intn=sizeof(x)/sizeof(int); intloc,i; printf("\nFindCyclicMinimum"); printf("\n==================="); printf("\n\nGivenArraySortedinCyclicFashion: \n"); for(i=0;i printf("%3d",x[i]); loc=cyclic_min(x,n); printf("\n\nMinimumislocatedatx[%d]=%d",loc,x[loc]); } 答案: =======(答案1)======= left =========或========= right>left =======(答案2)======= right=mid =======(答案3)======= left=mid+1 =========或========= left=1+mid 功能: 求出二维数组中的最大元素值。 #include max_value(m,n,array) /***********SPACE***********/ intm,n,【array[][4]】; { inti,j,max; max=array[0][0]; for(i=0;i for(j=0;j /***********SPACE***********/ if(max return(max); } voidmain() { inta[3][4]={{1,3,5,7},{2,4,6,8},{15,17,34,12}}; /***********SPACE***********/ printf("maxvalueis%d\n",【max_value(3,4,a)】); } 功能: 考查字符串数组的应用。 输出26个英文字母。 #include voidmain(void) { charstring[256]; inti; /***********SPACE***********/ for(i=0;i<26;【i++】) /***********SPACE***********/ string[i]=【'A'+i】; string[i]='\0'; /***********SPACE***********/ printf("thearrarycontains%s\n",【string】); } 功能: 以下程序的功能如(图1)。 #include /***********SPACE***********/ 【#include main() { doublex,f; scanf("%f",&x); /***********SPACE***********/ if(x<0)【f=fabs(x+1)】; /***********SPACE***********/ elseif(【x<=5】) f=2*x+1; else f=sin(x)+5; /***********SPACE***********/ printf("x=%f,y=%f\n",【x,f】); } 功能: 利用指向结构的指针编写求某年、某月、某日是第 几天的程序,其中年、月、日和年天数用结构表示。 #include #include main() { /***********SPACE***********/ 【? 】date { inty,m,d,n; /***********SPACE***********/ }【? 】; intk,f,a[12]={31,28,31,30,31,30,31,31,30,31,30,31}; printf("date: y,m,d="); scanf("%d,%d,%d",&x.y,&x.m,&x.d); f=x.y%4==0&&x.y%100! =0||x.y%400==0; /***********SPACE***********/ a[1]+=【? 】; if(x.m<1||x.m>12||x.d<1||x.d>a[x.m-1])exit(0); for(x.n=x.d,k=0;k /***********SPACE***********/ printf("n=%d\n",【? 】); } 答案: =======(答案1)======= struct =======(答案2)======= x =======(答案3)======= f =======(答案4)======= x.n 功能: 分别求出一批非零整数中的偶数、奇数的平均值,用零作 为终止标记。 -------------------------------------------------------*/ #include main() { intx,i=0,j=0; floats1=0,s2=0,av1,av2; scanf("%d",&x); /***********SPACE***********/ while(【? 】) { if(x%2==0) { s1=s1+x; i++; } /***********SPACE***********/ 【? 】 { s2=s2+x; j++; } /***********SPACE***********/ 【? 】; } if(i! =0) av1=s1/i; else av1=0; if(j! =0) /***********SPACE***********/ 【? 】; else av2=0; printf("oushujunzhi: %7.2f,jishujunzhi: %7.2f\n",av1,av2); } 答案: =======(答案1)======= x! =0 =========或========= x =======(答案2)======= else =========或========= elseif(x%2==1) =========或========= elseif(x%2! =0) =========或========= if(x%2) =======(答案3)======= scanf("%d",&x) =======(答案4)======= av2=s2/j 题目: 下面程序的功能是输出1至100之间每位数的乘积大于每位数的和的数, 请填(3)空使程序完整。 -------------------------------------------------------*/ #include main() {intn,k=1,s=0,m; for(n=1;n<=100;n++) { k=1;s=0; /***********SPACE***********/ 【? 】 /***********SPACE***********/ while(【? 】){ k*=m%10; s+=m%10; /***********SPACE***********/ 【? 】 } if(k>s)printf("%d\n",n); } } 答案: =======(答案1)======= m=n; =======(答案2)======= m>0 =========或========= m>=0 =======(答案3)======= m=m/10; =========或========= m/=10; 题目: 以下程序统计从终端输入的字母中每个大写字母的个数,num[0]中统计字母A的个数, 其它依次类推。 用#号结束输入,请填空。 -------------------------------------------------------*/ #include"stdio.h" #include"ctype.h" main() {intnum[26]={0};i;charc; /***********SPACE***********/ while(【? 】! ='#') if(isupper(c)) /***********SPACE***********/ num[【? 】]+=1; for(i=0;i<26;i++) if(num[i]) printf("%c: %d\n",i+'A',num[i]); } 答案: =======(答案1)======= (c=getchar()) =======(答案2)======= c-'A' 功能: 通过函数的递归调用计算阶乘。 -------------------------------------------------------*/ #include longpower(intn) { longf; if(n>1) /***********SPACE***********/ f=【? 】; else f=1; return(f); } main() { intn; longy; printf("inputainteagernumber: \n"); /***********SPACE***********/ scanf("%d",【? 】); y=power(n); /***********SPACE***********/ printf("%d! =%ld\n",n,【? 】); } 答案: =======(答案1)======= power(n-1)*n =========或========= power(n-1)*n =========或========= n*power(n-1) =======(答案2)======= &n =======(答案3)======= power(n) =========或========= y 题目: 下面程序的功能是用递归法求n! 。 -------------------------------------------------------*/ #include voidmain() { /***********SPACE***********/ 【? 】; intn; longy; printf("inputanintegernumber: "); scanf("%d",&n); /***********SPACE***********/ y=【? 】; printf("%d! =%ld\n",n,y); } longfac(intn) { longf; if(n<0) printf("n<0,dataerror! "); elseif(n==0,n==1) f=1; else /***********SPACE***********/ f=【? 】; return(f); } 答案: =======(答案1)======= longfac(intn) =======(答案2)======= fac(n) =======(答案3)======= fac(n-1)*n =========或========= n*fac(n-1)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 程序 填空
![提示](https://static.bdocx.com/images/bang_tan.gif)