/***********SPACE***********/
elseif(key>a[mid])【low=mid+1】;
/***********SPACE***********/
else【return(mid)】;
}
return-1;
}
voidmain()
{
inta[10]={1,2,3,4,5,6,7,8,9,10};
intb,c;
b=4;
c=fun(a,10,b);
if(c==-1)printf("notfound");
elseprintf("position%d\n",c);
}
/*-------------------------------------------------------
2【程序填空】
---------------------------------------------------------
题目:
求n!
,n值由键盘输入。
-------------------------------------------------------*/
#include
voidmain()
{
intn,i;
floatt;
printf("pleaseinputn(n>=0):
");
/***********SPACE***********/
scanf("%d",【&n】);
i=1;
t=1.0;
/***********SPACE***********/
while(【i<=n】)
/***********SPACE***********/
{【t*=i】
i++;
}
printf("%d!
=%f",n,t);
}
a/*-------------------------------------------------------
3【程序填空】
---------------------------------------------------------
题目:
以下程序的功能是统计一个字符串中的字母、数字、空格、
和其它字符的个数。
-------------------------------------------------------*/
#include"stdio.h"
main()
{
chars1[80];inta[4]={0};
intk;
/***********SPACE***********/
【voidfun(chars[],int[])】;
gets(s1);
/***********SPACE***********/
【fun(s1,a)】;
puts(s1);
for(k=0;k<4;k++)
printf("%4d",a[k]);
}
voidfun(chars[],intb[])
{
inti;
for(i=0;s[i]!
='\0';i++)
if('a'<=s[i]&&s[i]<='z'||'A'<=s[i]&&s[i]<='Z')b[0]++;
/***********SPACE***********/
elseif(【'0'<=s[i]&&s[i]<='9'】)b[1]++;
/***********SPACE***********/
elseif(【s[i]==32】)b[2]++;
elseb[3]++;
}
/*-------------------------------------------------------
4【程序填空】
---------------------------------------------------------
题目:
判断一个给定的整数是否为素数。
-------------------------------------------------------*/
#include
#include"math.h"
voidmain()
{intm,i,k;
scanf("%d",&m);
k=sqrt(m);
/***********SPACE***********/
for(i=2;【i<=k】;i++)
/***********SPACE***********/
if(【m%i==0】)break;
/***********SPACE***********/
if(【i>k】)
printf("Yes\n");
else
printf("No\n");
}
/*-------------------------------------------------------
5【程序填空】
---------------------------------------------------------
题目:
以下程序的功能:
计算并输出500以内最大的10个能被
13或17整除的自然数之和。
-------------------------------------------------------*/
#include
/***********SPACE***********/
intfun(【intk】)
{
intm=0,mc=0;
/***********SPACE***********/
while(k>=2&&【mc<10】)
{
/***********SPACE***********/
if(k%13==0||【k%17==0】)
{m=m+k;mc++;}
k--;
}
/***********SPACE***********/
【return(m)】;
}
voidmain()
{
printf("%d\n",fun(500));
}
/*-------------------------------------------------------
6【程序填空】
---------------------------------------------------------
题目:
输入N个数据存入数组中,将其倒置存放,并打印输出。
-------------------------------------------------------*/
#include
#defineN10
voidmain()
{inti,t,a[N];
printf("Enter%dNumbers:
\n",N);
for(i=0;i/***********SPACE***********/
scanf("%d",【&a[i]】);
/***********SPACE***********/
for(i=0;i<【n/2】;i++)
{t=a[i];
/***********SPACE***********/
a[i]=【a[n-i-1]】;
a[N-i-1]=t;
}
for(i=0;iprintf("%d",a[i]);
}
/*-------------------------------------------------------
7【程序填空】
---------------------------------------------------------
题目:
输出Fibonacci数列的前15项,要求每行输出5项。
Fibonacci数列:
1,1,2,3,5,8,13...........
-------------------------------------------------------*/
#include
voidmain()
{
/***********SPACE***********/
int【fib】[15],i;
fib[0]=1;fib[1]=1;
for(i=2;i<15;i++)
/***********SPACE***********/
fib[i]=【fib[i-2]+fib[i-1]】;
for(i=0;i<15;i++)
{
printf("%d\t",fib[i]);
/***********SPACE***********/
if(【i%5==4】)printf("\n");
}
}
/*-------------------------------------------------------
8【程序填空】
---------------------------------------------------------
题目:
以下程序的功能是求100-999之间的水仙花数(水仙花数
是指一个三位数的各个位数字的立方和是这个数本身,
如:
153=1^3+5^3+3^3)。
-------------------------------------------------------*/
#include
intfun(intn)
{inti,j,k,m;
m=n;
/***********SPACE***********/
【k=0】
for(i=1;i<4;i++)
{
/***********SPACE***********/
【j=m%10】
m=(m-j)/10;
k=k+j*j*j;
}
/***********SPACE***********/
if(k==n)【return
(1)】
elsereturn(0);}
voidmain()
{
inti;
for(i=100;i<1000;i++)
/***********SPACE***********/
if(【fun(i)】==1)printf("%disok!
\n",i);
}
/*-------------------------------------------------------
9【程序填空】
---------------------------------------------------------
题目:
某次大奖赛,有10个评委打分,下面的程序是对一名参赛者评分,输入10个评
委的打分分数,去掉一个最高分,一个最低分后,求出平均分即为该参赛者的得分。
-------------------------------------------------------*/
#include
voidmain()
{
floatmark,max,min,aver=0.0,sum=0.0;
inti;
for(i=1;i<=10;i++)
{printf("输入第%d位评委的打分\n",i);
scanf("%f",&mark);
if(i==1)
{max=mark;
/***********SPACE***********/
【min=mark】;
}
elseif(markmin=mark;
/***********SPACE***********/
elseif(【mark>max】)
max=mark;
/***********SPACE***********/
【sum+=mark】;
}
aver=(sum-max-min)/8;
printf("TheAveragescoreis%f\n",aver);
}
/*-------------------------------------------------------
10【程序填空】
---------------------------------------------------------
题目:
输出9*9口诀。
-------------------------------------------------------*/
#include
voidmain()
{inti,j,result;
printf("\n");
/***********SPACE***********/
for(i=1;【i<10】;i++)
/***********SPACE***********/
{for(j=1;j<10;【j++】)
{
result=i*j;
/***********SPACE***********/
printf("%d*%d=%-3d",i,j,【result】);
}
printf("\n");
}
}
/*-------------------------------------------------------
11【程序填空】
---------------------------------------------------------
题目:
用辗转相除法求两个整数的最大公约数、最小公倍数。
-------------------------------------------------------*/
#include
voidmain()
{intn,m,nm,r,t;
printf("Enterm,n=?
");
scanf("%d%d",&m,&n);
nm=n*m;
if(m{t=m;m=n;n=t;}
r=m%n;
/***********SPACE***********/
while(【r!
=0】)
{m=n;
/***********SPACE***********/
【n=r】
/***********SPACE***********/
【r=m%n】
}
printf("ThemaxGyshu=%d\n",n);
/***********SPACE***********/
printf("TheminGbshu=%d\n",【nm/n】);
}
/*-------------------------------------------------------
12【程序填空】
---------------------------------------------------------
题目:
以下程序的功能是将一个数组中的元素按逆序存放。
-------------------------------------------------------*/
#defineN7
#include
voidmain()
{
staticinta[N]={12,9,16,5,7,2,1},k,s;
printf("\ntheoriganalarray:
\n");
for(k=0;kprintf("%4d",a[k]);
/***********SPACE***********/
for(k=0;k<【N/2】;k++)
{
s=a[k];
/***********SPACE***********/
【a[k]=a[N-k-1]】;
/***********SPACE***********/
【a[N-k-1]=s】;
}
printf("\nthechangedarray:
\n");
for(k=0;k/***********SPACE***********/
【printf】("%4d",a[k]);
}
/*-------------------------------------------------------
13【程序填空】
---------------------------------------------------------
题目:
输入3个整数,输出最大数。
-------------------------------------------------------*/
#include
voidmain()
{inta,b,c,max;
printf("inputthreenumbers:
");
scanf("%d%d%d",&a,&b,&c);
/***********SPACE***********/
if(【a>b】)
max=a;
/***********SPACE***********/
【else】
max=b;
if(max/***********SPACE***********/
【max=c】
printf("max=%d\n",max);
}
/*-------------------------------------------------------
14【程序填空】
---------------------------------------------------------
题目:
输入三个整数x,y,z,请把这三个数由小到大输出。
-------------------------------------------------------*/
#include
voidmain()
{intx,y,z,t;
scanf("%d%d%d",&x,&y,&z);
if(x>y)
/***********SPACE***********/
{【t=x;x=y;y=t;】}
if(x>z)
/***********SPACE***********/
{【t=z;z=x;x=t;】}
if(y>z)
/***********SPACE***********/
{【t=y;y=z;z=t;】}
printf("smalltobig:
%d%d%d\n",x,y,z);
}
/*-------------------------------------------------------
15【程序填空】
---------------------------------------------------------
题目:
打印出如下图案(菱形)
*
***
*****
*******
*****
***
*
-------------------------------------------------------*/
#include
voidmain()
{
inti,j,k;
/***********SPACE***********/
for(i=0;【i<4】;i++)
{
for(j=0;j<=4-i;j++)
printf("");
/***********SPACE***********/
for(k=1;k<=【2*i+1】;k++)
printf("*");
printf("\n");
}
/***********SPACE***********/
for(【j=0】;j<3;j++)
{
for(k=0;kprintf("");
/***********SPACE***********/
for(k=0;k<【5-2*j】;k++)
printf("*");
printf("\n");
}
}
/*-------------------------------------------------------
16【程序填空】
---------------------------------------------------------
题目:
以下程序的功能:
计算并输出high以内最大的10个素数
之和,high由主函数传给fun函数,若high的值为100,
则函数的值为732。
-------------------------------------------------------*/
#include
#include
intfun(inthigh)
{
intsum=0,n=0,j,yes;
/***********SPACE***********/
while((high>=2)&&(【n<10】))
{
yes=1;
for(j=2;j<=high/2;j++)
/***********SPACE***********/
if(【high%j==0】)
/***********SPACE***********/
{yes=0;【break】;}
if(yes)
{sum+=high;n++;}
high--;
}
/***********SPACE***********/
【return(sum)】;
}
voidmain()
{
printf("%d\n",fun(100));
}
/*-------------------------------------------------------
17【程序填空】
---------------------------------------------------------
题目:
输入如下形式的二项式系数列标。
要求表的行数运行时输入,
若小于1或者大于10则重新输入。
1
11
121
1331
14641
151