C语言程序填空.docx

上传人:b****5 文档编号:6085065 上传时间:2023-01-03 格式:DOCX 页数:15 大小:17.39KB
下载 相关 举报
C语言程序填空.docx_第1页
第1页 / 共15页
C语言程序填空.docx_第2页
第2页 / 共15页
C语言程序填空.docx_第3页
第3页 / 共15页
C语言程序填空.docx_第4页
第4页 / 共15页
C语言程序填空.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

C语言程序填空.docx

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

C语言程序填空.docx

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)

 

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

当前位置:首页 > 求职职场 > 简历

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

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