程序填空.docx

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

程序填空.docx

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

程序填空.docx

程序填空

C语言程序设计练习题--程序填空

〖第2题〗(练习题所在文件夹:

30)

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

【程序填空】

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

题目:

以下程序的功能是用冒泡法对数组a进行由小到大的

排序。

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

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

}

答案:

1).j<=n-1或n-1>=j或j<=-1+n或-1+n>=j或jj或j=j

2).ii或ii或i<=n-j-2或i<=n-2-j

3).a[i]>a[i+1]或a[i+1]

4).fun(a,10)

〖第4题〗(练习题所在文件夹:

628)

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

【程序填空】

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

函数fun的功能是:

求有5个元素的一维数组各元素的和。

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

floatfun(floata[])

{inti;

floats=a[0];

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

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

s+=【?

】[i];

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

return【?

】;

}

voidmain()

{floatsco[5],sum;

inti;

printf("\ninput5scores:

\n");

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

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

scanf("%f",【?

】);

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

sum=fun(【?

】);

printf("sumscoreis%5.2f\n",sum);

}

答案:

1).a

2).s

3).&sco[i]或sco+i

4).sco或&sco[0]

〖第5题〗(练习题所在文件夹:

5)

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

【程序填空】

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

题目:

以下程序是用选择法对10个整数按升序排列,程序中有4个空,

填空使程序完整。

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

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

}

答案:

1).#defineN10

2).k=i;

3).jj或j<=N-1或N-1>=j或j<10或10>j或j<=9或9>=j

4).k!

=i或j<=N-1或N-1>=j

〖第6题〗(练习题所在文件夹:

17)

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

【程序填空】

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

题目:

以下程序的功能是将一个数组中的元素按逆序存放。

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

#defineN7

main()

{

staticinta[N]={12,9,16,5,7,2,1},k,s;

printf("\ntheoriganalarray:

\n");

for(k=0;k

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

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

for(k=0;k

】)

{

s=a[k];

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

【?

】;

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

【?

】;

}

printf("\nthechangedarray:

\n");

for(k=0;k

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

【?

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

}

答案:

1).k++或k=k+1或k+=1或++k

2).a[k]=a[N-k-1]或a[k]=a[N-1-k]或a[k]=a[6-k]或a*(a+k)=*(a+N-k-1]或*(a+k)=*(a+N-1-k]或a[k]=a[-1+N-k]或a[k]=a[-1-k+N]或a[k]=a[-k-1+N]或a[k]=a[-k+N-1]或*(a+k)=*(a+N-k-1)或a[6-k]=s

3).a[N-k-1]=s或a[N-1-k]=s或a[6-k]=s或a[N-k-1]=s或*(a+N-k-1)=s

4).printf

〖第7题〗(练习题所在文件夹:

604)

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

【程序填空】

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

题目:

从键盘上输入20个元素的值存入一维数组m中,然后将下标

为(0、2、4、6、8、10……18)的元素值赋值给数组n,最

后输出数组n的内容。

请填空

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

main()

{

intm[20],n[10];

inta,b=0;

for(a=0;a<20;a++)

{

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

scanf("%d",【?

】);

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

if(【?

】)

{

n[b]=m[a];

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

【?

}

}

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

for(a=0;【?

】;a++)

printf("%d\t",n[a]);

}

答案:

1).&m[a]

2).a%2==0或a%2或a%2!

=1

3).b++;或b+=1;或b=b+1;或b=1+b;

4).a<10或a<=9或a

〖第8题〗(练习题所在文件夹:

3)

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

【程序填空】

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

题目:

下面的程序是求1!

+3!

+5!

+……+n!

的和,程序中有4个

空,填空使程序完整。

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

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

}

答案:

1).s=0;

2).i+=2或i=i+2或i++,i++或i=2+i

3).j<=i或i>=j或jj

4).f=f*j;或f*=j;

〖第10题〗(练习题所在文件夹:

28)?

?

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

【程序填空】

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

题目:

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

数组中元素已递增排序,

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

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

fun(inta[],intn,intkey)

{

intlow,high,mid;

low=0;

high=n-1;

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

while(【?

】)

{

mid=(low+high)/2;

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

if(key

】;

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

elseif(key>a[mid])【?

】;

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

else【?

】;

}

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

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

}

答案:

1).low<=high或high>=low

2).high=mid-1

3).low=mid+1

4).returnmid或return(mid)

〖第14题〗(练习题所在文件夹:

611)?

?

?

?

?

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

【程序填空】

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

题目:

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

程序中有4个空,填空使程序完整。

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

#include

#include

main()

{

inti,n,sum;

clrscr();

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

}

答案:

1).sum=0;

2).i<=500或500>=i或i<501或501>i或!

(i>500)

3).i%7==0||i%17==0或i%17==0||i%7==0或(i%7==0)||(i%17==0)或(i%17==0)||(i%7==0)或i/7*7==i||i/17*17==i或(i/7*7==i)||(i/17*17==i)

4).n%5==0或n/5*5==n

〖第15题〗(练习题所在文件夹:

11)

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

【程序填空】

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

题目:

以下程序的功能是产生并输出如下形式的方阵。

1222221

3122214

3312144

3331444

3315144

3155514

1555551

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

main()

{

inta[7][7];

inti,j;

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

for(j=0;j<7;j++)

{

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

if(【?

】)a[i][j]=1;

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

elseif(i

】;

elseif(i>j&&i+j<6)a[i][j]=3;

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

elseif(【?

】)a[i][j]=4;

elsea[i][j]=5;

}

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

{

for(j=0;j<7;j++)

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

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

【?

】;

}

}

答案:

1).i==j||i+j==6

2).a[i][j]=2

3).i6或j>i&&i+j>6或ii&&i+6

4).printf("\n")

〖第17题〗(练习题所在文件夹:

595)!

!

!

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

【程序填空】

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

题目:

输出斐波那契(Fibonacci)数列(1,1,2,3,5,8,13……)的前20项。

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

main()

{

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

intf1,f2,f3,【?

】;

f1=1;

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

【?

】;

printf("%8d%8d",f1,f2);

for(j=3;j<=20;j++)

{

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

【?

】;

printf("%8d",f3);

f1=f2;

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

【?

】;

}

}

答案:

1).j

2).f2=1

3).f3=f1+f2或f3=f2+f1

4).f2=f3

〖第18题〗(练习题所在文件夹:

22)?

?

?

?

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

【程序填空】

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

题目:

以下程序的功能是求一个二维数组中每行的最大值和每行

的和。

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

#include"stdlib.h"

main()

{

inta[5][5],b[5],c[5],i,j,k,s=0;

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

for(j=0;j<5;j++)

a[i][j]=random(40)+20;

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

{

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

k=a[i][0];【?

】;

for(j=0;j<5;j++)

{

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

if(k

】;

s=s+a[i][j];

}

b[i]=k;

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

【?

】;

}

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

{

for(j=0;j<5;j++)

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

printf("%5d",【?

】);

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

printf("\n");

}

}

答案:

1).s=0

2).k=a[i][j]

3).c[i]=s

4).a[i][j]

〖第20题〗(练习题所在文件夹:

601)?

?

?

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

【程序填空】

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

题目:

求1-3+5-7+……-99+101的值。

请填空

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

main()

{

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

inti,j=1,【?

】;

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

for(i=1;i<=101;【?

】)

{

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

sum+=【?

】;

j*=(-1);

}

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

}

答案:

1).sum=0

2).i+=2或i=i+2或i=2+i

3).i*j或j*i

〖第21题〗(练习题所在文件夹:

21)

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

【程序填空】

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

题目:

以下程序的功能是打印以下图形。

*****

*****

*****

*****

*****

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

main()

{

chara[5][9]={""};

inti,j;

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

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

for(j=i;【?

】;j++)

a[i][j]='*';

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

for(【?

】;i<5;i++)

{

for(j=0;j<9;j++)

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

printf("%c",【?

】);

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

【?

】;

}

}

答案:

1).jj或j<=i+4或i+4>=j

2).i=0

3).a[i][j]

4).printf("\n")

〖第23题〗(练习题所在文件夹:

596)

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

【程序填空】

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

以下程序不借助任何中间变量把a、b的值进行交换,请填空。

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

#include

main()

{inta,b;

printf("Inputa,b");

scanf("%d,%

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

当前位置:首页 > 高等教育 > 理学

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

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