




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《程序设计技术》(第三版)习题参考答案
习题1
一、单项选择题
DADDDBCCD(注:第7小题无正确选项,正确答案为72)
二、填空题
①主
②main
③x=x*(x+b)
④普通、格式、分隔和转义
⑤指定输出数据格式
⑥voidmain()
⑦“howareyou!”
三、阅读程序题
1.9,11,9,10
2.2,-1,-1
3.aabbccabc
4.2,2
5.57
57
67.5864000,-789.124023
67.5864000,-7.89e+002
67,86,-789.12,67.5864000,-789.124023,67.5864000,
-789.124023
6.758640e+001,-7.89e+002
A,65,101,41
1234567,4553207,12d687
65535,177777,ffff,65535
COMPUTER,COM.
6.a+c=102
a+c=f
f+m=17.950000
a+m=17.650000
c+f=102.300000
double=1746.150019
四、程序设计题
//xt010401.cpp
#include<stdio.h>
#definePI3.1415926
voidmain()
{doubIer,h;
printf("请输入半径r和高h:");
scanfC%lf,%If”,&r,&h);
printf(“圆半径:%lf\nz,,2*Pl*r);
printf(“圆面积:%lf\nz,,Pl*r*r);
printf(“圆球表面积:%If\n,/,4*Pl*r*r);
printf("圆球体积:%lf\n,z,4.0/3*Pl*r*r);
,,
printf(“圆柱体积:%lf\ntPl*r*r*h);
)
//xt010402.cpp
#inoIude<stdio.h>
voidmain()
{intc;
printfCInputacharacter:;
c=getchar();
printf(,,%c\t%d\n,/,c,c);
)
//xt010403.cpp
#inoIude<stdio.h>
voidmain()
{intx,y,h=30,f=90;
x=(4*h-f)/2;
y=(f-2*h)/2;
printf(“鸡:%d,兔:%d\n”,x,y);
)
//xt010404.cpp
#include<stdio.h>
#include<math.h>
voidmain()
{doubIea,b,c,s,area;
printf("请输入三角形的三条边长(注意三条边长应能够构成三
角形):“);
scanf("%If,%If,%If”,&a,&b,&c);
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("三角形的面积是:%lf\n,z,area);
)
//xt010405.cpp
#inoIude<stdio.h>
voidmain()
{doubIef,c;
printf("请输入华氏温度:”);
scanf("%If",&f);
c=5.0/9.0*(f-32);
printf("与华氏温度%.2If对应的摄氏温度是:%.2f,c);
)
//xt010406.cpp
#incIude<stdio.h>
voidmain()
{charc1,c2,c3,c4,c5;
printf(”请输入需加密的字符串(5个字符):");
d=getchar();
c2=getchar();
c3=getchar();
c4二getchar();
c5二getchar();
printf("加密后的字符串是:“);
putchar(d+5);
putchar(c2+5);
putchar(c3+5);
putchar(c4+5);
putchar(c5+5);
printf("\n");
}
习题2
一、单项选择题
CBADCCCAAC
二、填空题
①a+b==O&&a*b!=0
②逻辑与
③逻辑或
④continue
⑤(c=getchar())!='\n'
⑥%c
三、阅读程序题
答案:
x=ll,y=20
,z2=l
答案:
-1--------(x<0)
sig心)=<0-----------(x=0)
1-----------(x>0)
该程序所完成功能的函数关系为:
答案:
a=2,b=l
答案:
13579
97531
答案:
A
BBB
CCCCC
DDDDDDD
EEEEE
DDD
C
答案:
2*1*0$4*3*2$
四、程序设计题
/*xt020401.cpp*/
#include<stdio.h>
voidmain()
{intnum;
printf(z,****Inputnum:****\n");
scanf("%d”,&num);
if(num%3-0&&num%5==0&&num%7-0)
printf("**YES!**\n");
eIse
printf("**NO!**\n");
)
/*xt020402.cpp*/
#include<stdio.h>
voidmain()
{inth=0;
fIoatx,y,x0=2,y0=2,d1,d2,d3,d4;
printf("***input:x,y***\n");
scanf("%f,%f",&x,&y);
d1=(x-xO)*(x-xO)+(y-yO)*(y-yO);/*点、(x,y)到各中心点的
距离*/
d2=(x-xO)*(x-xO)+(y+yO)*(y+yO);
d3=(x+xO)*(x+xO)+(y-yO)*(y-yO);
d4=(x+xO)*(x+xO)+(y+yO)*(y+yO);
if(d1<=1||d2<=111d3<=1||d4<=1)
h=15;
printf("x二%f,y=%f\n,z,x,y);
printf("h二%d\n”,h);
)
/*xt020403.cpp*/
#incIude<stdio.h>
voidmain()
{inti,j,k,n;
for(n=100;n<=999;n++)
[i=n/100;
j=n/10-i*10;
k=n%10;
if(n==i*i*i+j*j*j+k*k*k)
printf("%d\n”,n);
}
)
/*xt020404.cpp*/
#include<stdio.h>
#include<math.h>
#defineEPS1.Oe-6
voidmain()
(
floate=1,t;
Iongintj=1,n=1;
do
Ij=j*n;
t=1.0/j;
e=e+t;
n++;
}whiIe(fabs(t)>=EPS);
printf("e二%f\n”,e);
)
/*xt020405.cpp*/
#incIude<stdio.h>
voidmain()
{intnum=1;
do
{if((num+3)%5=0&&(num-3)%6==0)
break;
num+=1;
}while(1);
printf("num^d\rT,num);
)
/*xt020406.cpp*/
#include<stdio.h>
voidmain()
{intnum;
for(num=1;num<=99;num++)
if(num*num%10-num||num*num%100~num)
printf("%4d,%5d”,num,num*num);
printf("\n");
)
/*xt020407.cpp*/
#include<stdio.h>
voidmain()
{intn,k=1;
floats=0;
for(n=1;n<=10000;n++)
{s=s+1.0/(2.0*n-1)*k;
k=-k;
)
printf(,,PI=%f\n/,,4*s);
)
/*xt020408.cpp*/
#include<stdio.h>
voidmain()
{intn10,n5,n2,n1;
for(n10=1;n10<=9;n10++)
for(n5=1;n5<=17;n5++)
for(n2=1;n2<=37;n2++)
{n1=40-n10-n5-n2;
if(n1>=1&&n10*10+n5*5+n2*2+n1==100)
printf("n10=%d,n5=%d,n2=%d,rd二%d\rT,n10,n5,n2,n1);
}
}
/*xt020409.cpp*/
#incIude<stdio.h>
voidmain()
{fIoatsn=100,hn=sn/2;
intn=2;
while(n<=10)
{sn+=2*hn;
hn=hn/2;
n++;
}
printf(,z%f,%f\n,z,sn,hn);
)
/*xt020410.cpp*/
#include<stdio.h>
voidmain()
{intday,x1,x2=1;
for(day=9;day>0;day-)
[x1=(x2+1)*2;
x2=x1;
}
printf(z,TotaI二%d\n”,x1);
}
习题3
单项选择题
BBCACDDABB
填空题
①9
②o
③10
④X
⑤一致
⑥n/2
⑦sum+a
⑧sum/n
三、阅读程序题
1.246
2.s=30
3.5945842
4.lanuge
5.816
357
492
6.max=10,row=2,colum=1
四、程序设计题
//xt030401.cpp
#include<stdio.h>
#include<stdIib.h>
#include<time.h>
voidmain(void)
intnum[10],a;;
srand((unsigned)time(NULL));
printf(“请输入一个2位数,试试您是否能中奖:”);
scanf("%d",&a);
for(inti=0;i<10;i++)
{num[i]=(rand0+10)%100;
if(a==num[i])
printf("猜中一个数%d下标是%d”,a,i);
)
)
printf("-----------------------------\n");
for(i=0;i<10;i++)
printf(,z%d\tz,,num[i]);
}
//xt030402.cpp
#incIude<stdio.h>
#ir)clude<stdIib.h>
#include<time.h>
voidmain(void)
{inta[5]={23,45,60,67,88},x,i,j,yes=0;
for(i=0;i<5;i++)
printf("%d,",a[i]);
printfCXnwhichnumberdoyouwanttodelete?\n");
scanf("%d",&x);
for(i=0;i<5;i++)
if(a[i]==x)
{yes=1;
for(j=i;j<5;j++)a[j]=a[j+1];
)
if(yes==1)for(i=0;i<4;i++)printf("%d,",a[i]);
eIseprintf(z,Thenumberyouwantdoesn'texist");
)
//xt030403.cpp
#include<stdio.h>
#incIude<stdIib.h>
#include<time.h>
#defineSIZE1000
voidmain()
(
intx,a[SIZE].size,sum=0;
srand((unsigned)time(NULL));
whiIe((size=rand0%1000)>200);
printf(z,\nRandomizIistsize«1000):%d,z,size);
printf(,z\nAutomakea%dsizeoflist:\n,z,size);
for(x=0;x<size;x++)
(a[x]=rand0%1000;
printf("%d\t",a[x]);
sum+=arr[x];
)
printf(,z\nThesumofarrayeIementsis%d”,sum);
)
//xt030404.cpp
#incIude<stdio.h>
#incIude<stdIib.h>
#include<time.h>
#defineSIZE100
voidmain()
(
intx,a[SIZE],max=0,min=1000,b1,b2;
srand((unsigned)time(NULL));
printf(z/\nAutomakea%dsizeofIist:\n",size);
for(x=0;x<SIZE;x++)
[a[x]=rand()%1000;
printf("%d\t",a[x]);
for(x=0;x<SIZE;x++)
if(a[x]>max)max二a[x],b1=x;
if(a[x]<min)min=a[x],b2=x;
)
printf(z,\nThearrayeIementsmax=%din%d\nmir)=%d
in%d\n”,max,b1,min,b2);
)
//xt030405.cpp
#incIude<stdio.h>
#defineSIZE100
#defineKIND5
voidmain()
(
intx,y,Ien,totaI[KIND+1];
int
a□={1,1,1,1,2,2,2,3,5,5,5,5,1,1,3,3,3,3,3,2,2,2,5,5,5);
Ien=sizeof(a)/sizeof(a[0]);
for(x=0;x<KIND+1;x++)
{totaI[x]=0;
}
for(y=1;y<KIND+1;y++)
for(x=0;x<len;x++)
(
if(a[x]==y)totaI[y]++;
)
)
printf(z,\nTheIistkinded:\rT);
for(x=0;x<Ien;x++)printfC%d”,a[x]);
printf(,z\nThetotaIresu11:");
for(x=1;x<KIND+1;x++)printfC%d-%d,”,x,total[x]);
1
//xt030406.cpp
#defineN26
#incIude<stdio.h>
intmain(void)
{staticinta[N+1],b[N+1];
inti,j,s,m,p;
scanf("%d%d”,&s,&m);
for(i=1;i<=N;i++)a[i]=i;
i=s-1;j=O;p=O;
while(p<N)
{i++;
bh:
if(i>N)i-=N;
if(a[i]=0)(i++;gotobh;}
j++;
if(j%m-0){p++;b[p]=a[i];a[i]=0;j=0;}
}
for(i=1;i<=N;i++)printf("%3d”,b[i]);
printf("\n");
)
//xt030407.cpp
#incIude<stdio.h>
voidmain0
(
inti,j,s=0,ave,v[3];
staticinta[5][3]={{80,75,92},{61,65,71},{59,63,70},{8
5,87,90},{76,77,85}};
for(i=0;i<3;i++)
{for(j=0;j<5;j++){
s=s+a[j][i];
v[i]=s/5;
s=0;
)
ave=(v[0]+v[1]+v[2])/3;
printf("math:%d\ncIanguag:%d\ndbase:%d\n,z,v[0],v[1],v[2]);
printf(z,totaIave:%d\n,z,aveI);
)
//xt030408.cpp
#include<stdio.h>
voidmain()
(
inti,j,a[10][10],b[]={1,2,3,4,5,6,7,8,9,10);
for(i=0;i<10;i++)a[0][i]=b[i];
for(i=1;i<10;i++)
for(j=0;j<10;j++)
if(i>j)a[i][j]=a[j][il;
elsea[i][j]=a[i-1][j-1];
for(i=0;i<10;i++)
{for(j=0;j<10;j++)
,,,,
printf(%d\tIa[i][j]);
printf("\n");
)
)
//xt030409.cpp
#include<stdio.h>
#include<stdIib.h>
#include<time.h>
#defineSIZE5000
#defineN7
voidmain()
(
intx,y,a[N]={0,0,0,0,0,0,0},s;
srand((unsigned)time(NULL));
x=0;
while(x<SIZE)
{s=rand()%6+1;
if(s>0&&s<7)
[a[s]++;
x++;
|
}
printf(,z\nRandomiz1-6Iist'n");
for(x=1;x<N;x++)
(
s=a[x]*0.07;
for(y=0;y<s;y++)
printf("%d”,x);
printf(,z\t%d\t%2.1f%%\n,z,a[x],(fIoat)a[x]*100/SIZE);
)
)
//xt030410.cpp
#include<stdio.h>
#defineN20
intmain0
(
intx,s,tag;
chara[N];
printf(Z/PIeaseinputnumbersandit'slengthIess
then%d:",N-1);
s=1;
while(s<N)
{scanf&a[s]);
if(a[s]==10)break;
s++;
)
printf(/z\nThenumbersis:\n");
for(x=1;x<s;x++)
printf(,,%c,/,a[x]);
}
tag=O;
for(x=1;x<s/2;x++)
I
if(a[x]!=a[s-x])
{tag=1;
break;
}
}
if(tag-0)printf(z/\nThenumberispaIindrome!");
eIseprintf(z,\nThenumberisn'tpaIindrome!");
)
习题4
一、单项选择题
ABACABCBDD
二、填空题
①主
②main函数
③main函数
④个数
⑤类型
⑥顺序
⑦函数类型
⑧float(floatx,intn)
⑨f(x,n)
⑩x*f(x,n-1)
三、阅读程序题
1.x—5,y—25
2.y=170.0
3.s1=3.14,s2=5.14
4.5002
5.5,3
6.3.00,1.00,0.25
四、程序设计题
//xt040401.cpp
#inoIude<stdio.h>
voidmain()
{voiddis(intn);
intn;
scanf(,,%d,/,&n);
dis(n);
)
voiddis(intn)
{intkO,k,sum,i;
k0=1;
do
{k=kO;
sum=0;
for(i=1;i<=n;i++)
{sum=sum+k;
k=k+2;
)
if(sum==n*n*n)
break;
eIse
kO=kO+2;
}while(1);
for(i=1;i<=n;i++)
{printf(,,%5d,/,kO);
kO=kO+2;
}
}
//xt040402.cpp
#include<stdio.h>
voidmain()
{fIoath(intn,fIoatx);
intn;
fIoatx;
scanf("%d,%f",&n,&x);
printf("h(%d,%f)”,n,x,h(n,x));
)
fIoath(intn,fIoatx)
{if(n=0)
return1;
eIseif(n==1)
return(2*x);
eIse
return(2*x*h(n-1,x)-2*(n-1)*h(n-2,x));
)
//xt040403.cpp
#include<stdio.h>
voidmain()
{intf(intn);
inti;
for(i=2;i<=1000;i++)
if(f(i))
printf("%6d”,i);
)
intf(intn)
{if(n==n*n%10||n==n*n%1001|n==n*n%1000)
return1;
eIse
return0;
)
//xt040404.cpp
#incIude<stdio.h>
voidmain()
{Iongfun(inta,intn);
intk,n;
scanf("%d,%d",&k,&n);
printf("%ld\n”,fun(k,n));
)
Iongfun(inta,intn)
{intj;
longs=0,t=0;
for(j=1;j<=n;j++)
[t=t*10+a;
s=s+t;
}
returns;
)
//xt040405.cpp
#include<math.h>
#include<stdio.h>
voidmain()
{intnum,middIe1,middIe2;
intdetect(intd);
printf("Pleaseinputapositiveevennumber(>=6);
scanf("%d”,&num);
for(middIe1=2;middIe1<=num/2;middIe1+=1)
if(detect(middle!))
{middIe2=num-middIe1;
if(detect(middIe2))
{printf("%d=%d+%d\n”,num,middIe1,middIe2);
break;
}
}
}
intdetect(intd)
{inti;
for(i=2;i<=sqrt(d*1.0);i++)
if(d%i==0)
return(0);
return1;
)
//xt040406.cpp
#include<stdio.h>
voidmain()
{fIoatf(fIoatx,intn);
fIoatx,an;
intn;
scanf("%f,%d",&x,&n);
an=f(x,n);
printf(/,an=%f\n,/,an);
)
fIoatf(fIoatx,intn)
{if(n==0)
return1;
eIse
returnx/r)*f(x,n-1);
)
//xt040407.cpp
#include<stdio.h>
voidmain()
{fIoatf(floatx,intn);
fIoatx,fn;
intn;
scanf("%f,%d",&x,&n);
fn=f(x,n);
printf("an=%f\n”,fn);
)
fIoatf(fIoatx,intn)
{if(n==0)
return1;
eIseif(n>0)
returnx*f(x,n-1);
eIse
returnf(x,n+1)/x;
)
//xt040408.cpp
#include<stdio.h>
voidmain()
{voidf(intn);
intn;
scanf("%d",&n);
while(n<=0)
scanf("%d",&n);
f(n);
)
voidf(intn)
{if(n/10=0)
putchar(n%10+'0');
eIse
{putchar(n%10+*0');
f(n/10);
)
)
//xt040409.cpp
#incIude<stdio.h>
voidmain()
{voidf(intn);
intn;
scanf&n);
while(n<=0)
scanf("%d",&n);
f(n);
)
voidf(intn)
{if(n/10)
f(n/10);
putchar(n%10+'0');
}
//xt040410.cpp
#include<stdio.h>
voidmain()
{intf(intn);
intn;
for(n=2;n<=1000;n++)
if(f(n))
printf(z/%disa完数\n”,n);
)
intf(intn)
{inti,s=0;
for(i=1;i<n;i++)
if(n%i==0)
s=s+i;
if(s==n)
return1;
eIse
return0;
)
习题5
一、单项选择题
AACCADDACB
二、填空题
①“char*fund0"定义一个返回字符指针值的函数,
“char(*func2)(。定义一个指向函数的指针
②一个返回值为单精度类型指针的函数名;
③(*p)(a,b,c)
④findmin
⑤(*f)(x,y,z);
三、阅读程序题
1.120
2.5,4,3
3.4
4.15
5.112
6.49
11
113
13
15
//xt050401.cpp
#incIude“stdio.h"
voidmain()
{voidf(int,int,int);
inta,b,c;
void(*p)(int,int,int);
,,,,
scanf(%d%d%d1&a,&b,&c);
P二f;
(*p)(a,b,c);
)
voidf(intx,inty,intz)
{intt;
if(x<y)
t=x,x=y,y=t;
if(y<z)
t=z,z=y,y=t;
if(x<y)
t=x,x=y,y=t;
printf("%5d%5d%5d\n”,x,y,z);
1
//xt050402.cpp
#incIude<stdio.h>
intmax(inta,intb)
{if(a>b)
returna;
eIse
returnb;
)
voidmain()
{intmax(inta,intb);
int(*pmax)(int,int);
intx,y,z;
pmax二max;
printfCinputtwonumbers:\n,z);
scanf("%d%d”,&x,&y);
z=(*pmax)(x,y);
printf("maxmum=%cT,z);
)
//xt050403.cpp
#include“stdio.h"
voidgcd(intx,inty)
{inttemp;
whiIe(y!=0)
{temp=x%y;
x=y;
y=temp;
}
printf("Thegreatestcommondivisoris:%d\n”,x);
)
voidIcm(intx,inty)
{inttemp,m,n;
m=x;
n=y;
whiIe(x!=0)
{temp二y%x;
y=x;
x=temp;
}
printf(/zThelowestcommonmultipleis:%d\n”,m*n/y);
)
voidmain()
{inta,b;
void(*p)(int,int);
printf(Z/PIeaseinputaandb:");
scanf("%d%d”,&a,&b);
if(a>b)
P=gcd;
eIse
p=Icm;
(*p)(a,b);
)
//xt050404.cpp
#incIude“stdio.h"
voidmain()
{intx,y;
intsum(int,int),diff(int,int),product(int,int);
voidmma(intx,inty,ints(int,int));
printf(Z,PIeaseinputx,y:\n");
scanf("%d%d”,&x,&y);
printf(z,Thesumofxandyis:");
mma(x,y,sum);
printf("Thedifferenceofxandyis:");
mma(x,y,diff);
printf(z,Theproductofxandyis:");
mma(x,y,product);
)
intsum(intx,inty)
(
returnx+y;
)
intdiff(intx,inty)
{returnx-y;
)
intproduct(intx,inty)
(
returnx*y;
)
voidmma(inta,intb,ints(int,int))
{intw;
w=s(a,b);
printf("%d\n”,w);
)
//xt050405.cpp
#include<stdio.h>
doublefund(intx),func2(inty);
voidmain()
{double(*fptr)(int);/*定义指向函数的指针变量fptr*/
intn;
printfCinputanumber:");
scanf("%d",&n);
if(n>1)
{if(r)%2==0)
fptr=func1;/*n为偶数,指针变量ptr指向函数fund()*/
eIse
fptr=func2;/*n为奇数,指针变量ptr指向函数
func2()*/
printfCvaIue=%9.4f\n,z,(*fptr)(n));
}
eIse
printf("error!\n");
}
doubIefund(intx)
{intk;
doubIevalue;
vaIue=1.0;
for(k=2;k<=x;k=k+2)
vaIue=vaIue+1/(doubIe)k;
returnvalue;
1
doublefunc2(inty)
{intk;
doubIevalue;
vaIue=1.0;
for(k=3;k<=y;k=k+2)
vaIue=vaIue+1/(doubIe)k;
returnvalue;
)
//xt050406.cpp
#incIude“stdio.h"
#include"math.h"
voidmain()
{intn,yinzi(int),(*f)(int);
f=yinzi;
printfCinputanumbern:");
scanf("%d",&n);
if((*f)(n)=2)
printf(,z\n%disaprimenumber.n);
eIse
printf(,z\n%disnotaprimenumber.n);
)
intyinzi(intx)
{inti,k=0,q=(int)sqrt(x);
for(i=1;i<=q;i++)
if(x%i==0)
{k+=2;
printf("%5d%5d”,i,x/i);
}
returnk;
)
//xt050407.cpp
#incIude<stdio.h>
#include<math.h>
doublef1(doubIex)
(
returnx*x*log(x);
)
doubIef2(doubIex)
(
returnx*sin(x);
)
doublef3(doubIex)
returnx/exp(x);
doubIecoIIect(doubIe(*p)(doublex),doubIea,doubIeb,doubIe
n)
{inti;
doubIeh,area;
h=(b-a)/n;
area=((*p)(a)+(*p)(b))/2.0;
for(i=1;i<n;i++)
area+=(*p)(a+i*h);
return(area*h);
)
voidmain()
{doubIey1,y2,y3;
y1=colIect(f1,1.0,2.0,1000);
y2=coIIect(f2,0.0,3.0,500);
y3=coIIect(f3,0.0,1.0,10000);
printf(z,y1=%6.2fy2=%6.2fy3=%6.2f\n,z,y1,y2,y3);
)
//xt050408.cpp
#include“stdio.h"
#include"math.h"
introot(doubIe*x,intm,doubIeeps,doubIe(*f)(doubIe))
{doubIexO;
do
[xO=*x;
*x=(*f)(xO);
m=m-1;
}whiIe((m!=0)&&(fabs(*x-x0)>=eps));
if(m==0)return(0);
return(1);
)
doubIef1(doubIex)
(
return(1.0+atan(x));
)
doublef2(doubIex)
(
return(0.5*cos(x));
)
doubIef3(doubIex)
return((6.0+3*x-x*x)/4);/*x=(6+3*x-x*x)/4*/
)
voidmain()
{doubIex,(*p)(doubIe);
x=1.0;
P=f1;
if(root(&x,50,0.00001,p))
,,,,
printf(x1=%f\nJx);
P=f2;
if(root(&x,50,0.00001,p))
,,,,
printf(x1=%f\nIx);
P=f3;
if(root(&x,50,0.00001,p))
printf(,,x1=%f\n,/,x);
)
//xt050409.cpp
#include“stdio.h"
int*f(intp[],intq[],intm)
{inti;
for(i=0;i<m;i++)
q[i]=p[i]*p[i];
returnq;
)
voidmain()
{inta[6]={1,2,3,4,5,6],i,*k;
intb[6];
k=f(a,b,6);
for(i=0;i<6;i++)
printf("%5d”,k[i]);
}
//xt050410.cpp
#include<stdio.h>
#incIude<stdIib.h>
voidmain()
{intwanshu(intx);
int*ptr;
ptr=(int*)maIIoc(sizeof(int));
if(ptr==NULL)
{printf("FaiIedtocreateanewobject.,z);
exit(0);
}
scanf("%d”,ptr);
if(wanshu(*ptr))
printfC%disa完数:二*ptr);
eIse
printf(z%disnota完数:,*ptr);
free(ptr);
)
intwanshu(intx)
{inti=1,SUHFO;
while(i<x)
{if(x%i==0)
sum+=i;
i++;
}
if(sum==x)
return1;
eIse
return0;
}
习题6
一、单项选择题
BDACDCACAD
二、填空题
①是其值可以是二级地址(指针)
②是其值可以是多级地址址(指针)
③沿着数组所占据的存储区域向前和向后移动多个或者是一个数组
元素
④可以在程序的运行过程中根据需要创建的数组
⑤int*v,int*key
⑥a,&key
⑦add-a
⑧&n
三、阅读程序题
1.11
2.2689
3.357911
4.14708
5.1312000
33333
681133
89333
33333
6.11111
1413111
11111
46911
67111
四、程序设计题
//xtO6O4O1.cpp
#include<stdio.h>
voidmain()
{intyh[11],row,coI,i;
*(yh+1)=1;
for(i=0;i<40-2;i++)
printfC");
,,,,
printf(%4d\n,*(yh+1));
for(row=2;row<=10;row++)
{*(yh+row)=1;/*每行的最后一个元素值为1*/
for(coI=row-1;col>=2;coI-)/*生成一行*/
*(yh+coI)=*(yh+coI)+*(yh+col-1);
for(i=0;i<40-2*row;i++)/*输出合适的空格*/
printfC");
for(col=1;coI<=row;coI++)/*输出一行*/
printf("%4d”,*(yh+coI));
printf("\n'');
}
)
//xt060402.cpp
#include<stdio.h>
#include<stdIib.h>
#include<time.h>
voidmain()
{inta[10][5],b[10],i,j;
srand(time(NULL));
for(i=0;i<10;i++)
for(j=0;j<5;j++)
*(a[i]+j)=rand()%100;
for(i=0;i<10;i++)
{*(b+i)=a[i][0];
for(j=0;j<5;j++)
if(*(b+i)<*(*(a+i)+j))
*(b+i)=*(*(a+i)+j);
}
for(i=0;i<10;i++)
{for(j=0;j<5;j++)
prirrtf("%4d”,a[i][j]);
,,,,
printf(\t%4d\n,b[i]);
}
)
//xt060403.cpp
#include<stdio.h>
#include<stdIib.h>
#include<time.h>
intdeImem(int*v,intn,intdel);
voidmain()
{int*a,i,n,deI;
srand(time(NULL));
printf("请输入处理的数组长度:”);
scanf("%d",&n);
a=(int*)malIoc(sizeof(int)*n);
for(i=0;i<n;i++)
*(a+i)=rand()%100;
printf("删除操作前的数据如下所示:\n");
for(i=0;i<n;i++)
printf("%4d”,*(a+i));
printf("\n请输入欲删除的元素值:“);
scanf("%d”,&deI);
n=deImem(a,n,deI);
printf("删除操作后的数据如下所示:\n");
for(i=0;i<n;i++)
printf("%4d”,*(a+i));
printf("\n");
)
intdeImem(int*v,intn,intdeI)
{inti,j;
for(i=0;i<n;i++)
if(*(v+i)==deI)
{for(j=i;j<n-2;j++)
*(v+j)=*(v+j+1)
n——,i——;
)
returnn;
)
//xt060404.cpp
#incIude<stdio.h>
#include<stdIib.h>
#include<time.h>
#defineN15
voidmain()
{intscore[N][4]={0},i,j,
srand(time(NULL));
for(i=0;i<N;i++)
for(j=O;j<3;j++)
{x=rand()%100;
if(x<50)
eIse
score[i][j]=x;
)
for(i=0;i<N;i++)
for(j=O;j<3;j++)
*(*(score+i)+3)+=*(*(score+i)+j);
printfCscorel\tsocre2\tsocre3\tsum\n,/);
for(i=0;i<N;i++)
{for(j=0;j<4;j++)
printf("%d\t”,*(*(score+i)+j));
printf("\n");
}
)
//xt060405.cpp
#ir)clude<stdio.h>
#include<stdIib.h>
#include<time.h>
#defineN15
voidmain()
{intscore[N][4]=(0},i,j,x;
intt[4];
srand(time(NULL));
for(i=0;i<N;i++)〃生成模拟成绩数据
for(j=0;j<3;j++)
{x=rand0%100;
if(x<50)
j—;
eIse
score[i][j]=x;
}
for(i=0;i<N;i++)//统计每个学生的总分
for(j=0;j<3;j++)
*(*(score+i)+3)+=*(*(score+i)+j);
for(i=0;i<N-1;i++)
Ix=i;
for(j=i+1;j<N;j++)
if(score[j][3]>score[x][3])
x=j;
if(x!=i)
for(j=0;j<4;j++)
{*(t+j)=*(*(score+x)+j);
*(*(score+x)+j)=*(*(score+i)+j);
*(*(score+i)+j)=*(t+j);
)
}
printf("scorel\tsocre2\tsocre3\tsum\n,z);
for(i=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 温州乐成寄宿中学2024-2025学年高三第二学期4月模拟考试生物试题含解析
- 郴州市汝城县2025届六年级下学期小升初真题数学试卷含解析
- 怎做消防安全
- 护理瞳孔观察的方法和内容
- 幼儿爱眼护眼课件
- 学校教务处工作总结
- 半事化宿舍管理
- 引流管的更换护理要点
- 数学培训成果展示
- 电工电子技术 课件 51.集成运放线性应用电路-比例运算电路-60.组合逻辑电路的分析
- 企业劳动关系课件
- 2025年辽宁省沈阳市和平区中考零模地理试题(含答案)
- 2024-2025学年人教版数学八年级下册期中检测卷(含答案)
- 2024年共青团入团积极分子结业考试题库及答案
- 运维工作大纲
- 小学四年级下册科学-1.2点亮小灯泡-教科版(15张)(5)ppt课件
- 最新版水系综合治理工程规划工作大纲
- 缺铁性贫血临床路径2016年版缺铁性贫血临床路径标准住院
- 冲压工艺作业指导书
- 教学常规各种检查记录表(共6页)
- 橡胶坝毕业设计
评论
0/150
提交评论