temp=a[i];
}
printf(“最大值为:
%f",temp);
}
5.
voidmain()
{
charstr[100]={0};
inti;
printf("Pleaseinputastring:
”);
gets(str);
for(i=0;str[i]!
=0;i++)
if(str[i]!
='a'&&str[i]!
='A,&&str[i]!
=T&&str[i]!
='5,&&str[i]!
='#')printf(”%c”,str[i]);
printf("\n");
}
6.
图案一
voidmain()
{
inti=4,j=0;
for(i=0;i<=4;i++)//控制输出的循环次数
{
for(j=0;j<4-i;j++)//控制每行输出多少个空格
{
printf(u”);
}
for(j=0;j<2*i-l;j++)//控制每行输出多少个*
printf("*u);
printf("\n");
}
for(i=3;i>0;i-)
for(j=4;j>i;j-)
{
printf(u");
}
for(j=0;j<2*i-l;j++)printf("*");
printfC'Xn");
}
}
图案二:
voidmain()
{
inti=0’n=5,j=0;
for(i=5;i>0;i-)
{
for(j=0;j<2*i-2;j++)
{
printf(n”);
}
for(j=5-i+l;j>0;j-)
{
printf(,,%d"zj);printf(u”);
}
printf('W);
}
}
7.
voidmain()
{
inti=0,a,b,c;
for(i=100;i<1000;i++)
{
a=i/100;
b=i%100/10;c=i%10;
if(a*a*a+b*b*b+c*c*c==i)printf(,,%d\t,,zi);
}
8.
voidmain()
{
doublea=100;
inti=0;
while(a>l)
{
a=a/2.0;
i++;
}
printf(”%d\n”,i);
}
9.
voidmain()
{
inta=l,b=2,c=5,sum=0;
for(inti=0;i<=100;i++){
for(intj=0;j<=50;j++){for(intk=0;k<=20;k++){
if(a*i+b*j+c*k==100){
sum+=l;
printf("%d个一・分,%d个2分,%d个5分\n”,i,j,k);}
}
}
}
printff'共%<1种换法舄sum);
}
10.
#include
#include
voidmain()
{
doublehl=100.0/h2;
inti;
h2=hl;
for(i=l;i<=10;i++)
printfC*第%d次落地反弹高度:
\n“,i);〃第X次落地后反弹高度h2=h2/2;
printf(“%f\n“,h2);
printf(“第%d次落地经过的路程\n”,i);〃第x次落地吋经过的路程
printf「%f\n”,hl);
hl=hl+(h2*2);
}
}
11.
main()
{
doublesum二0,n二1;
inti;
for(i=l;i<=64;i++)
sum=sum+n;n=2*n;
}
printff吆lf\n”,sum/5000000);
}
12.
voidmain()
{
//char*stateName[]={"1站站“,”3站舄“4站鳥“5站诂”,”7站“,“8站诂”,“A诂”/B站TC站站”,“E站”,”F站“};
charstateName[][15]={H1站穿2站丁3站严站”,”5站丁6站“,”7站”畀8站丁9站罗A站”,“B站”,“C站站:
'E站”,”F站”};
intizj,count=0;
for(i=0;i<15;i++)
for(j=0;j<15;j++)
if(i!
=j)
{
count++;
printf("序号%3d从%s至!
J%s\n",count,stateName[i],stateName[j]);
}
printf(“共%3d种票\n”,count);
}floatfun(intn)
floatS=0,p=0;inti;
for(i=l;i<=n;i++)
{
P+=i;S+=l/p;
}returnS;
}
voidmain()
{
intn;
floatS;printf("\n请输入N:
n);scanf("%d",&n);
S=fun(n);
printf(H结果为%f\n“,S);
}
第五章
1.选择题:
1~3BDB
2.程序分析题
1.k=p2.Str[i]!
二‘\0‘;str[i]>=97;i++;3.34.
3.编程题
1.
#includemain()
inta=l,b=l/c[20]/i/j=0;
for(i=0;i<10;i++)
{
a=a+b;
if(a%2==0)c[j++]=a;
b=a+b;if(b%2==0)c[j++]=b;
}c[j]='\O,;
for(i=0;iprintf(吆d\t”,c[i]);
}
2.
#include
voidinverse(inta[],intn)
{
inti,j,t;
for(i二O,j=n・l;i{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
voidmain()
{
intiza[6]={l,5,7,13,15,19},n=6;inverse(a,n);
for(i=0;ivn;i++)
printf(H%da[i]);
}
3.
#include
voidmain()
{
intn[6]={23/25z30/33,40/47},i/minflag;doubleaver=0,min,sum=0,t;
for(i=0;i<6;i++)
sum+二n[i];
aver=sum/6;min=aver-n[O];
讦(min>=0)minflag=0;
t=aver-n[i];
if(t>=0&&tprintf("%lf,%d\n'^avecminflag);
}4.
#include
#include
voidmain()
{
chars[80];
inti,n,times=0;gets(s);
n二strlen(s);
for(i=0;ivn;i++)
if(s[i]==,a,)
times+=l;
printf("\na出现的次数为:
%d\n“,times);
}5.
#include
#include
main()
{
chara[5][81]={0};
intcounter=O,i,j;
printf("请输入5段英文。
\n");
for(i=0;i<5;i++)
gets(a[i]);
for(i=0;i<5;i++)
{
for(j=0;jif(a[i][j]!
='*)
counter++;
}
floatm;
m=counter*0.5;
printf("可以获得的稿费为:
%.2f7E\n"zm);}
6.
voidmain()
{
inta[20]={l,23,4,5,6,7,&9,10,11,12,13,14,15,16,17,18,19,20};
intb[2][10];
inti=Ozj,n=O,k=O;
for(j=0;j<20;j++)
{
if(a[j]%2==0)
{
b[O][n]=a[j];
n++;
}
else
{
b[l][k]=a[j];
k++;
}
}
for(i=0;i<2;i++)
{
for(j=0;j<10;j++)
{
printf("%dn,b[i][j]);
}
}
}
7.
#include
intmain()
{
intczb=l,f=O/s=O;//b表示单词开头,f表示以a开头,s计数while((c=getchar())!
='\n')
{
if(c=='a'&&b)
{
f=l;
b=0;
}
elseif(c=='')
if(f)s++;b=l;f=0;
}
else
{
b=0;
}
}
if(f)s++;
printf("%d\n"zs);return0;
}
8.
#include
voidmain()
{chara[5][10],b[100J;
inti;
for(i=0;i<5;i++)
scanf("%s",&a[i]);
b[0]=,\0,;
for(i=0;i<5;i++)
{
if(i>O)strcat(b,"");strcat(b,a[i]);
}
printf(”%s\n”,b);
}
9.
voidmain()
{
inta[4][5],b[4][5],c[4][5]JJ;
/*输入,数组a赋初值*/for(i=0;i<4;i++)
for(j=0;j<5;j++)
scanf(”%cT,&a[i][j]);
/*输入,数组a赋初值*/for(i=0;i<4;i++)
for(j=0;j<5;j++)scanf("%d",&b[i][j]);
/*生成新数组c*/
for(j=0;i<4;i++)
for(j=0;j<5;j++)
{
if((a[i][j]%2==0)&&(b[i][j]%2==0))c[i]Ul=a[i][j]-b[i]U];
else
c[i][j]=a[i][j]+b[i][j];
}
/*输岀数组c*/
for(i=0;i<4;i++)
{
for(j=0;j<5;j++)
printf「%d\t”,c[i][j]);
printf(n\nn);
}
}
10.
#include
voidmain()
{
charsl[100],s2[100];
inti,j;
gets(sl);
for(i=0;sl[i];i++)
{
if(sl[i]>=,a'&&sl[i]<=,j,)s2[i]=sl[i]-49;
elseif(sl[i]>='k'&&sl[i]<='s')
s2[i]=sl[i]-10;
elseif(sl[i]==,t,)s2[i]='@';
elseif(sl[i]>=V&&sl[i]<=Y)s2[i]=sl[i]-83;
elseif(sl[i]==,u,)
elseif(sl[i]=='z')s2[i]=,+,;
elseif(sl[i]=='')
s2[i]=T;
else
s2[i]=sl[i];
s2[i]=,\0,;puts(sl);puts(s2);
第六章答案
一,选择题
l.C2.A3.D4.B5.C6.D7.D8.C9.C
二,编程分析题:
1.输出结果:
5
10
15
20
2.输出结杲:
x=l
Y=1
x=1
Y=1
x=1
Y=1
3.输出结果:
程序有错
4.输出结果:
result:
0
三,编程题
1•设计一个将公制长度(cm)转换为英制长度(英寸)的函数,在主函数中输入公制长
度,然后输出英制长
#include"stdio.h"
voidescfdoublec)
{
printf("%f,',c*0.3937);
}
intmain()
doublec;
printfC'W输入长度:
H);scanf(”%l化&c);
esc(c);
return0;
#include
#include
floats(floathzfloatd)
{
floatss=0;ss=3.14*(d/2)*(d/2)+3.14*(d/2)*sqrt(h*h+(d/2)*(d/2));returnss;
}
floatv(floath,floatd)
{
floatvv=0;vv=(1.0/3.0)*3.14*(d/2)*(d/2)*h;
returnvv;
}
voidmain()
{
floatd;
floath;
printfC请输入直径:
”);
scanf(”%f”,&d);
printf("请输入高:
");
scanf(“%f”,&h);
printfC®锥的表面积为:
%f”,s(h,d));
printf(“圆锥的体积为:
%f\n,,/v(h/d));
}
(注:
没有密度,求不出质量)
3.
#include
#include
//convert/to■:
char*ymd(char*s){
inti;
for(i=O;i}
main()
{
chary[]="1999/6/23H;
printf(”%s\n“,ymd(y));
return0;
}
4•按照如下公式,设计一个求n得近似值的函数:
n/2^1+l/3+l/3*2/5+l/3*2/5*3/7...
#include#includedoublef(inti)
{staticdoublep=l;p=p*i/(i+i+l);returnp;
}
intmain()
{
inti;
doublepi=l;for(i=l;i<=1000;i卄)pi+=f(i);
printf(,,Pi=%.10lf\n,,/pi*2);return0;
}
5•设计一个函数,计算下面表达式前n项中偶数项的和:
1*2*3+2*3*4+...
#include
intoushusumfintn)
{
intsum=0;
for(inti=l;i<=n;i++)
{
if(i%2==0)
sum+=i*(i+l)*(i+2);
};
returnsum;
}intmain()
intn;
printff'plsintputn:
");
scanf(”%d“,&n);
printf(H\n偶数项和是:
%d\n",oushusum(n));
6.
#include
intgongyue(intm,intn){
intr;
if(m==n)returnm;
else
while((r=m%n)!
=O)
{
m二n;
n二r;
}
returnn;
}intgongbei(intm,intn)
{
if(m==n)returnm;
else
returnm*n/gongyue(m,n);
}voidmain()
{
inta,b,i;
printf("pleaseinputtwonumber:
\n");scanf("%d%d",&a,&b);
printf("最大公约数xi:
%d\n",gongyue(a,b));printf("最小公倍数是:
%d\n",gongbei(a,b));}
#include
#inelude
longfactorial(intn)
{
longresult;
if