C语言程序填空Word文档格式.docx
《C语言程序填空Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言程序填空Word文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
fun1(s);
for(i=0;
if(i%5==0)printf("
\n"
);
printf("
%8.2f"
s[i]);
6;
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块。
然后所有的小孩
同时将自己手中的糖分一半给左边的小孩;
糖块数为奇数的人
可向老师要一块。
问经过这样几次调整后大家手中的糖的块数
都一样?
每人各有多少块糖?
-------------------------------------------------------*/
{
inti,count=0,a[11]={0,10,2,8,22,16,4,10,6,14,20};
while(【?
】)
for(i=1;
i<
=10;
i++)
a[i-1]=a[i-1]/2+a[i]/2;
a[10]=a[10]/2+a[0];
if(【?
】)a[i]++;
10;
if(a[i]!
=a[i+1])【?
if(i==10)
break;
else
a[0]=0;
count++;
}
count=%dnumber=%d\n"
count,a[1]);
答案:
=======(答案1)=======
1
=======(答案2)=======
a[i]%2==1
=======(答案3)=======
break
功能:
用等分法在有序的循环数组中,找到最小元素的位置。
-------------------------------------------------------*/
intcyclic_min(intx[],intn)
intleft=0;
intright=n-1;
intmid;
while(【?
mid=(left+right)/2;
if(x[mid]<
x[right])
else
returnleft;
voidmain(void)
intx[]={20,23,28,35,39,40,42,8,10,15,17,19};
intn=sizeof(x)/sizeof(int);
intloc,i;
\nFindCyclicMinimum"
\n==================="
\n\nGivenArraySortedinCyclicFashion:
for(i=0;
i<
n;
%3d"
x[i]);
loc=cyclic_min(x,n);
\n\nMinimumislocatedatx[%d]=%d"
loc,x[loc]);
left<
right
=========或=========
right>
left
right=mid
left=mid+1
left=1+mid
求出二维数组中的最大元素值。
max_value(m,n,array)
/***********SPACE***********/
intm,n,【array[][4]】;
inti,j,max;
max=array[0][0];
m;
for(j=0;
j<
n;
j++)
if(max<
array[i][j])
【max=array[i][j]】;
return(max);
voidmain()
inta[3][4]={{1,3,5,7},{2,4,6,8},{15,17,34,12}};
maxvalueis%d\n"
【max_value(3,4,a)】);
考查字符串数组的应用。
输出26个英文字母。
voidmain(void)
charstring[256];
26;
【i++】)
string[i]=【'
A'
+i】;
string[i]='
\0'
;
printf("
thearrarycontains%s\n"
【string】);
以下程序的功能如(图1)。
【#include<
math.h>
】
doublex,f;
scanf("
%f"
&
x);
if(x<
0)【f=fabs(x+1)】;
elseif(【x<
=5】)
f=2*x+1;
f=sin(x)+5;
x=%f,y=%f\n"
【x,f】);
利用指向结构的指针编写求某年、某月、某日是第
几天的程序,其中年、月、日和年天数用结构表示。
stdlib.h>
】date
inty,m,d,n;
}【?
intk,f,a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
date:
y,m,d="
%d,%d,%d"
x.y,&
x.m,&
x.d);
f=x.y%4==0&
&
x.y%100!
=0||x.y%400==0;
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<
x.m-1;
k++)x.n+=a[k];
n=%d\n"
【?
】);
struct
x
f
=======(答案4)=======
x.n
分别求出一批非零整数中的偶数、奇数的平均值,用零作
为终止标记。
intx,i=0,j=0;
floats1=0,s2=0,av1,av2;
%d"
&
】)
if(x%2==0)
s1=s1+x;
i++;
s2=s2+x;
j++;
if(i!
=0)
av1=s1/i;
av1=0;
if(j!
】;
av2=0;
oushujunzhi:
%7.2f,jishujunzhi:
%7.2f\n"
av1,av2);
x!
=0
else
elseif(x%2==1)
elseif(x%2!
=0)
if(x%2)
scanf("
x)
av2=s2/j
题目:
下面程序的功能是输出1至100之间每位数的乘积大于每位数的和的数,
请填(3)空使程序完整。
#include<
{intn,k=1,s=0,m;
for(n=1;
n<
=100;
n++)
k=1;
s=0;
】){
k*=m%10;
s+=m%10;
if(k>
s)printf("
%d\n"
n);
m=n;
m>
=0
m=m/10;
m/=10;
以下程序统计从终端输入的字母中每个大写字母的个数,num[0]中统计字母A的个数,
其它依次类推。
用#号结束输入,请填空。
#include"
stdio.h"
ctype.h"
{intnum[26]={0};
i;
charc;
while(【?
】!
='
#'
)
if(isupper(c))
num[【?
】]+=1;
for(i=0;
if(num[i])
printf("
%c:
i+'
num[i]);
(c=getchar())
c-'
通过函数的递归调用计算阶乘。
longpower(intn)
longf;
if(n>
1)
f=【?
f=1;
return(f);
intn;
longy;
inputainteagernumber:
%d"
y=power(n);
%d!
=%ld\n"
n,【?
power(n-1)*n
power(n-1)*n
n*power(n-1)
n
power(n)
y
下面程序的功能是用递归法求n!
。
inputanintegernumber:
"
n);
y=【?
n,y);
longfac(intn)
if(n<
0)
n<
0,dataerror!
elseif(n==0,n==1)
fac(n)
fac(n-1)*n
n*fac(n-1)