程序填空部分试题及答案课案.docx

上传人:b****5 文档编号:11756296 上传时间:2023-03-31 格式:DOCX 页数:19 大小:53.82KB
下载 相关 举报
程序填空部分试题及答案课案.docx_第1页
第1页 / 共19页
程序填空部分试题及答案课案.docx_第2页
第2页 / 共19页
程序填空部分试题及答案课案.docx_第3页
第3页 / 共19页
程序填空部分试题及答案课案.docx_第4页
第4页 / 共19页
程序填空部分试题及答案课案.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

程序填空部分试题及答案课案.docx

《程序填空部分试题及答案课案.docx》由会员分享,可在线阅读,更多相关《程序填空部分试题及答案课案.docx(19页珍藏版)》请在冰豆网上搜索。

程序填空部分试题及答案课案.docx

程序填空部分试题及答案课案

第1.题*-------------------------------------------------------

【程序填空】

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

功能:

下面的程序是求1!

+3!

+5!

+……+n!

的和。

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

#include

main()

{

longintf,s;

inti,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()

{

inti,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("outputthesortedarray:

\n");

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

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

printf("\n");

}

第3.题./*-------------------------------------------------------

【程序填空】

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

功能:

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

其和。

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

#include

#include

main()

{

inti,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

intfun(intn)

{inti,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()

{

inti;

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

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

if(【?

】==1)

printf("%disok!

\n",i);

}

第5.题./*-------------------------------------------------------

【程序填空】

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

功能:

输出100到1000之间的各位数字之和能被15整除的所有数,

输出时每10个一行。

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

#include

main()

{

intm,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()

{

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);

}

第7.题/*-------------------------------------------------------

【程序填空】

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

功能:

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

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

#include

main()

{

intm,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()

{

intn,i,r;

scanf("%d",&n);

if(n==0)

{

printf("dataerror\n");

exit(0);

}

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

elseif(【?

】)

printf("n=1");

else

{

printf("n=-1");

n=-n;

}

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

for(【?

】;i<=n;i++)

{

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

【?

】;

while(r==0)

{

printf("*%d",i);

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

【?

】;

r=n%i;

}

}

printf("\n");

}

第9题

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

【程序填空】

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

功能:

统计一个字符串中的字母、数字、空格和其它字符的个数。

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

#include

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(【?

】)

b[1]++;

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

elseif(【?

】)

b[2]++;

else

b[3]++;

}

main()

{

chars1[80];inta[4]={0};

intk;

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

【?

】;

gets(s1);

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

【?

】;

puts(s1);

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

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

}

第10题/*-------------------------------------------------------

【程序填空】

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

功能:

下面函数为二分法查找key值。

数组中元素已递增排序,

若找到key则返回对应的下标,否则返回-1。

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

#include

fun(inta[],intn,intkey)

{

intlow,high,mid;

low=0;

high=n-1;

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

while(【?

】)

{

mid=(low+high)/2;

if(key

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

【?

】;

elseif(key>a[mid])

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

【?

】;

else

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

【?

】;

}

return-1;

}

main()

{

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");

else

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

}

第11题/*-------------------------------------------------------

【程序填空】

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

功能:

输入字符串,再输入一个字符,将字符串中与输入字符相

同的字符删除。

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

#include

voidfun(chara[],charc)

{

inti,j;

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

for(i=j=0;【?

】;i++)

if(a[i]!

=c)a[j++]=a[i];

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

【?

】;

}

main()

{

chara[20],cc;

gets(a);

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

【?

】;

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

【?

】;

puts(a);

}

第12题/*-------------------------------------------------------

【程序填空】

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

功能:

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

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

#include

voidfun(inta[],intn)

{

inti,j,t;

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

for(j=0;【?

】;j++)

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

for(i=0;【?

】;i++)

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

if(【?

】)

{

t=a[i];

a[i]=a[i+1];

a[i+1]=t;

}

}

main()

{

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

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

【?

】;

for(i=0;i<10;i++)

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

}

第13题/*-------------------------------------------------------

【程序填空】

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

功能:

百鸡问题:

100元买100只鸡,公鸡一只5元钱,母鸡一只3

元钱,小鸡一元钱三只,求100元钱能买公鸡、母鸡、小鸡

各多少只?

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

#include

main()

{

intcocks,hens,chicks;

cocks=0;

while(cocks<=19)

{

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

【?

】=0;

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

while(hens<=【?

】)

{

chicks=100-cocks-hens;

if(5*cocks+3*hens+chicks/3==100)

printf("%d,%d,%d\n",cocks,hens,chicks);

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

【?

】;

}

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

【?

】;

}

}

第14题/*-------------------------------------------------------

【程序填空】

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

功能:

计算并输出500以内最大的10个能被13或17整除的自然数之和。

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

#include

#include

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

intfun(【?

】)

{

intm=0,mc=0;

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

while(k>=2&&【?

】)

{

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

if(k%13==0||【?

】)

{

m=m+k;

mc++;

}

k--;

}

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

【?

】;

}

main()

{

printf("%d\n",fun(500));

}

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

当前位置:首页 > 人文社科 > 法律资料

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

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