C语言上机操作之程序填空.docx

上传人:b****8 文档编号:9851599 上传时间:2023-02-07 格式:DOCX 页数:203 大小:63.72KB
下载 相关 举报
C语言上机操作之程序填空.docx_第1页
第1页 / 共203页
C语言上机操作之程序填空.docx_第2页
第2页 / 共203页
C语言上机操作之程序填空.docx_第3页
第3页 / 共203页
C语言上机操作之程序填空.docx_第4页
第4页 / 共203页
C语言上机操作之程序填空.docx_第5页
第5页 / 共203页
点击查看更多>>
下载资源
资源描述

C语言上机操作之程序填空.docx

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

C语言上机操作之程序填空.docx

C语言上机操作之程序填空

━━━━━━━━━━━━━━━━━━

一、程序填空共130题

━━━━━━━━━━━━━━━━━━

第1题(9.0分)题号:

441

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

【程序填空】

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

功能:

从低位开始取出长整型变量s中奇数位上的数,依次构成一

个新数放在t中。

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

#include

#include

voidfun(longs,long*t)

{

longsl=10;

s/=10;

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

*t=s【?

】10;

while(s>0)

{

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

s=【?

】;

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

*t=s%10*sl【?

】;

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

sl=sl【?

】10;

}

}

main()

{longs,t;

clrscr();

printf("\nPleaseenters:

");scanf("%ld",&s);

fun(s,&t);

printf("Theresultis:

%ld\n",t);

}

答案:

1).%

2).s/100

3).+*t

4).*

 

第2题(9.0分)题号:

439

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

【程序填空】

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

功能:

1982年我国第三次人口普查,结果全国人口为10.3亿,假

如人口增长率为5%。

编写一个程序求在公元多少年总人口

翻了一番。

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

#include

voidmain()

{

doublep1=10.3,p2,r=0.05;

intn=1;

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

p2=p1*【?

】;

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

while(p2<=【?

】)

{

n++;

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

p2=p2*【?

】;

}

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

n=【?

】;

printf("%d年人口总数翻了一番,即为%g亿人\n",n,p2);

}

 

答案:

1).(1+r)或(r+1)

2).2*p1或p1*2

3).(1+r)或(r+1)

4).n+1982或1982+n

 

第3题(9.0分)题号:

407

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

【程序填空】

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

功能:

有五个学生,每个学生有3门课的成绩,从键盘输入以上数

据(包括学生号,姓名,三门课成绩),计算出平均成绩,

设原有的数据和计算出的平均分数存放在磁盘文件"stud"

中。

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

#include"stdio.h"

structstudent

{

charnum[6];

charname[8];

intscore[3];

floatavr;

}stu[5];

main()

{

inti,j,sum;

FILE*fp;

/*input*/

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

{

printf("\npleaseinputNo.%dscore:

\n",i);

printf("stuNo:

");

scanf("%s",stu[i].num);

printf("name:

");

scanf("%s",stu[i].name);

sum=0;

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

for(j=0;【?

】;j++)

{

printf("score%d.",j+1);

scanf("%d",&stu[i].score[j]);

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

sum+=stu[i].【?

】;

}

stu[i].avr=sum/3.0;

}

fp=fopen("stud","w");

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

for(i=0;i<5;【?

】)

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

if(fwrite(&stu[i],sizeof(【?

】),1,fp)!

=1)

printf("filewriteerror\n");

fclose(fp);

}

答案:

1).j<3或3>j

2).score[j]

3).i++或++i或i=i+1

4).structstudent

 

第4题(9.0分)题号:

408

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

【程序填空】

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

功能:

输入两个整数,求他们的按位与。

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

#include

voidmain()

{

intx,y,z=0,a,b,k=1;

scanf("%d,%d",&x,&y);

while(x>0&&y>0)

{

a=x%2;

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

x=【?

】;

b=y%2;

y=y/2;

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

z=z+【?

】;

k=k*2;

}

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

【?

】("z=%d\n",z);

}

答案:

1).x/2

2).a*b*k或a*b*k

3).printf

 

第5题(9.0分)题号:

477

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

【程序填空】

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

功能:

编写程序,输出1000以内的所有完数及其因子。

说明:

所谓完数是指一个整数的值等于它的因子之和。

例如“6的因子是1、2、3,而6=1+2+3,故6是

一个完数。

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

#include

main()

{

inti,j,m,s,k,a[100];

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

{

m=i;s=0;k=0;

for(j=1;j

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

if(【?

】)

{

s=s+j;

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

【?

】=j;

}

if(s!

=0&&s==m)

{

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

for(j=0;【?

】;j++)

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

printf("=%4d\n",i);

}

}

}

答案:

1).m%j==0

2).a[k++]

3).jj

 

第6题(9.0分)题号:

10

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

【程序填空】

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

功能:

输出由字符w构造成的形如W的图形。

wwww

wwww

wwww

wwww

wwww

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

voiddraw(intn)

{

inti,j,k,r,m;

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

for(i=1;【?

】;i++)

{

for(j=1;j<=2;j++)

{

for(r=1;r

printf("w");

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

for(k=1;【?

】;k++)printf("");

printf("w");

for(m=1;m

}

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

【?

】;

}

}

#include

main()

{

intn;

clrscr();

printf("inputanumber:

");

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

【?

】;

draw(n);

}

答案:

1).i<=n或n>=i

2).k<=2*n-2*i或2*n-2*i>=k

3).printf("\n")

4).scanf("%d",&n)

 

第7题(9.0分)题号:

397

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

【程序填空】

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

功能:

两个乒乓球队进行比赛,各出三人。

甲队为a,b,c三人,乙

队为x,y,z三人。

已抽签决定比赛名单。

有人向队员打听比

赛的名单。

a说他不和x比,c说他不和x,z比,请编程序找出

三队赛手的名单。

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

main()

{

chari,j,k;/*i是a的对手,j是b的对手,k是c的对手*/

for(i='x';i<='z';i++)

for(j='x';j<='z';j++)

{

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

if(【?

】)

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

for(k='x';【?

】;k++)

{

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

if(【?

】)

{

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

if(i!

='x'&&k!

=【?

】)

printf("orderisa--%c\tb--%c\tc--%c\n",i,j,k);

}

}

}

}

答案:

1).i!

=j或i!

=j

2).k<='z'或'z'>=k

3).i!

=k&&j!

=k或i!

=k&&j!

=k

4).'z'

 

第8题(9.0分)题号:

470

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

【程序填空】

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

功能:

从两个数组中分别提取任意元素x[i],y[j],问|x[i]-y[j]|

的最小值是多少?

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

#include

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

#definemin(x,y)(【?

】)

intmin_distance(intx[],inty[],intm,intn)

{

intminimum=INT_MAX;

intindex_x=0,index_y=0;

while(index_x

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

if(【?

】)

{

minimum=min(minimum,x[index_x]-y[index_y]);

index_y++;

}

else

{

minimum=min(minimum,y[index_y]-x[index_x]);

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

【?

】;

}

returnminimum;

}

 

#include

voidmain(void)

{

intx[]={1,3,7,11,18};

intm=sizeof(x)/sizeof(int);

inty[]={4,5,8,13,22};

intn=sizeof(y)/sizeof(int);

inti,min_distance(int[],int[],int,int);

printf("\nComputeMinimumDistanceBetweenTwoSortedArrays");

printf("\n==================================================");

printf("\n\nGivenArray#1:

");

for(i=0;i

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

printf("\n\nGivenArray#2:

");

for(i=0;i

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

printf("\n\nMinimumDistance=%d",min_distance(x,y,m,n));

}

答案:

1).x

x:

y或y>x?

x:

y

2).x[index_x]>=y[index_y]或y[index_y]<=x[index_x]

3).index_x++或index_x=index_x+1或++index_x

 

第9题(9.0分)题号:

30

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

【程序填空】

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

功能:

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

同的字符删除。

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

#include"stdio.h"

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

}

答案:

1).a[i]!

='\0'或a[i]或a[i]!

=NULL

2).a[j]='\0'或a[j]=NULL或a[j]=0

3).cc=getchar()或scanf("%c",&cc)

4).fun(a,cc)

 

第10题(9.0分)题号:

467

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

【程序填空】

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

功能:

输入一个整数n,打印自然数1-n的全排列方案。

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

#include

#include

#defineMAXSIZE20

#defineROTATE(p)

{

inti,temp;\

temp=perm[p];\

for(i=p-1;i>=0;i--)\

perm[i+1]=perm[i];\

perm[0]=temp;\

}

voidmain(void)

{

intperm[MAXSIZE];

intposition;

intn;

inti;

charline[100];

printf("\nPermutationbyRotationMethod");

printf("\n==============================");

printf("\n\nNumberofElements-->");

gets(line);

n=atoi(line);

for(i=0;i

perm[i]=i+1;

position=n-1;

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

while(【?

】)

{

printf("\n");

for(i=0;i

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

printf("%d",【?

】);

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

position=【?

】;

ROTATE(position);

while(perm[position]==position+1&&position!

=0)

{

position--;

ROTATE(position);

}

}

}

答案:

1).position!

=0

2).perm[i]

3).n-1或n-1

 

第11题(9.0分)题号:

395

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

【程序填空】

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

功能:

输入3个数a,b,c,按从小到大的顺序输出。

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

main()

{

voidswap(int*p1,int*p2);

intn1,n2,n3;

int*pointer1,*pointer2,*pointer3;

printf("pleaseinput3number:

n1,n2,n3:

");

scanf("%d,%d,%d",&n1,&n2,&n3);

pointer1=&n1;

pointer2=&n2;

pointer3=&n3;

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

if(【?

】)swap(pointer1,pointer2);

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

if(【?

】)swap(pointer1,pointer3);

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

if(【?

】)swap(pointer2,pointer3);

printf("thesortednumbersare:

%d,%d,%d\n",n1,n2,n3);

}

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

voidswap(【?

】)

int*p1,*p2;

{

intp;

p=*p1;*p1=*p2;*p2=p;

}

答案:

1).n1>n2或n2*pointer2或*pointer2<*pointer1

2).n1>n3或n3*pointer3或*pointer3<*pointer1

3).n2>n3或n3*pointer3或*pointer3<*pointer2

4).p1,p2

 

第12题(9.0分)题号:

443

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

【程序填空】

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

功能:

企业发放的奖金根据利润提成。

利润(I)低于或等于10万元

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

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

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

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