当前位置:文档之家› 程序填空部分试题及答案解析

程序填空部分试题及答案解析

程序填空部分试题及答案解析
程序填空部分试题及答案解析

第1.题*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

功能:下面的程序是求1!+3!+5!+……+n!的和。

-------------------------------------------------------*/

#include

main()

{

long int f,s;

int i,j,n;

/***********SPACE***********/

【?】;

scanf("%d",&n);

/***********SPACE***********/

for(i=1;i<=n; 【?】)

{

f=1;

/***********SPACE***********/

for(j=1; 【?】;j++)

/***********SPACE***********/

【?】;

s=s+f;

}

printf("n=%d,s=%ld\n",n,s);

}

第2题./*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

功能:以下程序是用选择法对10个整数按升序排序。

-------------------------------------------------------*/

#include

/***********SPACE***********/

【?】

main()

{

int i,j,k,t,a[N];

for(i=0;i<=N-1;i++)

scanf("%d",&a[i]);

for(i=0;i

{

/***********SPACE***********/

【?】;

/***********SPACE***********/

for(j=i+1; 【?】;j++)

if(a[j]

/***********SPACE***********/

if(【?】)

{

t=a[i];

a[i]=a[k];

a[k]=t;

}

}

printf("output the sorted array:\n"); for(i=0;i<=N-1;i++)

printf("%5d",a[i]);

printf("\n");

}

第3.题./*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

功能:以每行5个数来输出300以内能被7或17整除的偶数,并求出其和。

-------------------------------------------------------*/

#include

#include

main()

{

int i,n,sum;

sum=0;

/***********SPACE***********/

【?】;

/***********SPACE***********/

for(i=1; 【?】;i++)

/***********SPACE***********/

if(【?】)

if(i%2==0)

{

sum=sum+i;

n++;

printf("%6d",i);

/***********SPACE***********/

if(【?】)

printf("\n");

}

printf("\ntotal=%d",sum);

}

第4.题./*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

功能:求100-999之间的水仙花数

说明:水仙花数是指一个三位数的各位数字的立方和是这个数本身。例如:153=1^3+5^3+3^3)。

-------------------------------------------------------*/

#include

int fun(int n)

{ int i,j,k,m;

m=n;

/***********SPACE***********/

【?】;

for(i=1;i<4;i++)

{

/***********SPACE***********/

【?】;

m=(m-j)/10;

k=k+j*j*j;

}

if(k==n)

/***********SPACE***********/

【?】;

else

return(0);}

main()

{

int i;

for(i=100;i<1000;i++)

/***********SPACE***********/

if(【?】==1)

printf("%d is ok!\n" ,i);

}

第5.题./*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

功能:输出100到1000之间的各位数字之和能被15整除的所有数,输出时每10个一行。

-------------------------------------------------------*/

#include

main()

int m,n,k,i=0;

for(m=100;m<=1000;m++)

{

/***********SPACE***********/ 【?】;

n=m;

do

{

/***********SPACE***********/

k=k+【?】;

n=n/10;

}

/***********SPACE***********/

【?】;

if (k%15==0)

{

printf("%5d",m);i++;

/***********SPACE***********/

if(i%10==0) 【?】;

}

}

第6.题/*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

功能:分别求出一批非零整数中的偶数、奇数的平均值,用零作为终止标记。

-------------------------------------------------------*/

#include

main()

{

int x,i=0,j=0;

float s1=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); }

第7.题/*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

功能:求两个非负整数的最大公约数和最小公倍数。

-------------------------------------------------------*/

#include

main()

{

int m,n,r,p,gcd,lcm;

scanf("%d%d",&m,&n);

if(m

p=m*n;

r=m%n;

/***********SPACE***********/

while(【?】)

{

/***********SPACE***********/

m=n;n=r; 【?】;

}

/***********SPACE***********/

gcd=【?】;

lcm=p/gcd;

/***********SPACE***********/

printf("gcd=%d,lcm=%d\n", 【?】);

}

第8.题/*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

功能:对任一整数N(N≠0),它都可以分解成1(或-1)和一些质数(素数)因子的形式。

例如:当N=150时,可分解成1×2×3×5×5;

当N=-150时,可分解为-1×2×3×5×5。

下边程序能实现这种分解过程。当N=150,输出以下分解结

果:N= 1* 2* 3* 5* 5

-------------------------------------------------------*/

#include

#include

main()

{

int n,i,r;

scanf("%d",&n);

if (n==0)

{

printf ("data error \n");

exit(0);

}

/***********SPACE***********/

else if (【?】)

printf("n=1");

else

{

printf("n=-1");

}

/***********SPACE***********/

for(【?】;i<=n;i++)

{

/***********SPACE***********/

【?】;

while(r==0)

{

printf("*%d",i);

/***********SPACE***********/

【?】;

r=n%i;

}

}

printf("\n");

}

第9题

/*-------------------------------------------------------

---------------------------------------------------------

功能:统计一个字符串中的字母、数字、空格和其它字符的个数。-------------------------------------------------------*/

#include

void fun(char s[],int b[])

{

int i;

for (i=0;s[i]!='\0';i++)

if ('a'<=s[i]&&s[i]<='z'||'A'<=s[i]&&s[i]<='Z')

b[0]++;

/***********SPACE***********/

else if (【?】)

b[1]++;

/***********SPACE***********/

else if (【?】)

b[2]++;

else

b[3]++;

}

main ()

{

char s1[80];int a[4]={0};

int k;

/***********SPACE***********/

【?】;

gets(s1);

/***********SPACE***********/

【?】;

puts(s1);

for(k=0;k<4;k++)

printf("%4d",a[k]);

}

第10题/*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

功能:下面函数为二分法查找key值。数组中元素已递增排序,若找到key则返回对应的下标,否则返回-1。

-------------------------------------------------------*/

#include

fun(int a[],int n,int key)

{

int low,high,mid;

low=0;

high=n-1;

/***********SPACE***********/

while(【?】)

{

mid=(low+high)/2;

if(key

/***********SPACE***********/

【?】;

else if(key>a[mid])

/***********SPACE***********/

【?】;

else

/***********SPACE***********/

【?】;

}

return -1;

}

main()

{

int a[10]={1,2,3,4,5,6,7,8,9,10};

int b,c;

b=4;

c=fun(a,10,b);

if(c==-1)

printf("not found");

else

printf("position %d\n",c);

}

第11题/*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

功能:输入字符串,再输入一个字符,将字符串中与输入字符相同的字符删除。

-------------------------------------------------------*/

#include

void fun(char a[],char c)

{

int i,j;

/***********SPACE***********/

for(i=j=0; 【?】;i++)

if(a[i]!=c) a[j++]=a[i];

/***********SPACE***********/

【?】;

}

main()

{

char a[20],cc;

gets(a);

/***********SPACE***********/

【?】;

/***********SPACE***********/

【?】;

puts(a);

}

第12题/*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

功能:用冒泡法对数组a 进行由小到大的排序。

-------------------------------------------------------*/

#include

void fun(int a[],int n)

{

int i,j,t;

/***********SPACE***********/

for (j=0; 【?】;j++)

/***********SPACE***********/

for (i=0; 【?】;i++)

相关主题
文本预览
相关文档 最新文档