1.5
#include<stdio.h>
Main()
{
printf("* * * * * * * * * * * *\n");
printf(" very good\n");
printf("** * * * * * * * * * * *\n") ;
}
1.6
#include<stdio.h>
Main()
{
inta,b,c,d;
scanf("%d,%d,%d",&a,&b,&c);
if(a>b) {
if(a>c)printf("%d",a);
else
printf("%d",c);
}
else
if(b>c)printf("%d",b);
else
printf("%d",c);}
第三章
3.3
数 | 八进制 | 十六进制 |
10 | 12 | A |
32 | 40 | 20 |
75 | 113 | 4B |
-617 | 627 | 197 |
-111 | 21 | 11 |
2483 | 4663 | 9B3 |
-28654 | 10022 | 1012 |
21003 | 51013 | 520B |
3.4-3.6略
3.7
#include<stdio.h>
Main()
{
char c1,c2,c3,c4,c5;
c1='C';c2='h';c3='i';c4='n';c5='a';
c1+=4;c2+=4; c3+=4;c4+=4;c5+=4;
printf("%c,%c,%c,%c,%c",c1,c2,c3,c4,c5);
}
3.8
能,因为字符型和整型通用
3.9
(1)2.5
(2)3.5
3.10
9,11,9,10
3.11-3.12略
第四章
4.4
printf("a= 3 b= 4 c= 5\n");
printf("x=1.200000,y=2.400000,z=-3.600000\n");
其他自行输入
4.5
57
5 7
67.8564,-789.124
67.8564 ,-789.124
67.86,-789.12,67.8564,-789.1240,67.8564,-789.124
6.785640e+001,-7.89e+002
A,65,101,41
1234567,4553207,12d687
65535,177777,ffff,65535
computer, com
4.8
#include<stdio.h>
Main()
{
int h;
float r,zc,area,barea,tj,tj1;
scanf("%d,%f",&h,&r);
zc=2*3.14*r;
area=3.14*r*r;
barea=4*3.14*r*r*r;
tj=4.0/3*3.14*r*r*r;
tj1=area*h;
printf("%.2f,%.2f,%.2f,%.2f,%.2f,",zc,area,barea,tj,tj1);
}
4.9
#include<stdio.h>
Main()
{
float h,zc;
scanf("%f",&h);
zc=5.0/9*(h-32);
printf("%.2f",zc);
}
4.10
(1)字符型
(2)printf按%d输出,对putchar进行类型强制转换
(3)否,要看整型变量是否包含符号位,以及取值范围无符号位输出0~255之间的整数,有符号输出-128~127之间的整数
第五章
5-4
#include<stdio.h>
Main()
{
int a,b,c,t;
scanf("%d,%d,%d",&a,&b,&c);
if(a<b)
{t=a;a=b;b=t;
}
if(a<c)
{t=a;a=c;c=t;
}
printf("%d",a);
}
5-5
#include<stdio.h>
Main()
{
int x,y;
scanf("%d",&x);
if(x<1)y=x;
else if(x<10)y=2*x-1;
else y=3*x-11;
printf("%d",y);
}
5-6
#include<stdio.h>
Main()
{
int c;
float x;
scanf("%f",&x);
if(x>100)goto m;
else if(x<60) printf("E\n");
else
{
c=((int)x)/10;
switch(c)
{case 10:
case9:printf("A\n");break;
case8:printf("B\n");break;
case7:printf("C\n");break;
case6:printf("D\n");break;
}
goto n;
}
m: printf("overflow");
n:printf("");
}
5-7
#include<stdio.h>
#include<math.h>
Main()
{
int x,i,a,b,c,d,e,f;
i=0;
scanf("%d",&x);
if(x/10000!=0)goto m;
if(x/1000!=0)goto n;
if(x/100!=0)goto o;
if(x/10!=0)goto p;
if(x/10==0)goto r;
m:if(x/10000!=0)
{++i;a=x/100000;
if(x/10000!=0)
{++i;b=(x-a*100000)/10000;
if(x/1000!=0)
{++i;c=(x-a*100000-b*10000)/1000;
if(x/1000!=0)
{++i;d=(x-a*100000-b*10000-c*1000)/100;
if(x/100!=0)
{++i;e=(x-a*100000-b*10000-c*1000-d*100)/10;
if(x/10!=0)
{++i;f=(x-a*100000-b*10000-c*1000-d*100-e*10);
}}
}}}
printf("%d位数\n",i);
printf("%d%d%d%d%d%d",f,e,d,c,b,a);goto g;}
n:if(x/1000!=0)
{++i;b=x/1000;
if(x/100!=0)
{++i;c=(x-b*1000)/100;
if(x/10!=0)
{++i;d=(x-b*1000-c*100)/10;
if(x/10!=0)
{++i;f=(x-b*1000-c*100-d*10);
}
}}
printf("%d位数\n",i);
printf("%d%d%d%d",f,d,c,b);goto g;}
o:if(x/100!=0)
{++i;b=x/100;
if(x/10!=0)
{++i;c=(x-b*100)/10;
if(x/10!=0)
{++i;f=(x-b*100-c*10);
}
}
printf("%d位数\n",i);
printf("%d%d%d",f,c,b);goto g;}
p:if(x/10!=0)
{++i;b=x/10;
if(x/10!=0)
{++i;f=(x-b*10);
}
printf("%d位数\n",i);
printf("%d%d%d",f,b);goto g;}
r:printf("1位数,%d",x);
g:printf("");
}
5-8
#include<stdio.h>
#include<math.h>
Main()
{
float a,b;
scanf("%f",&a);
if(a<=100000)b=a*0.1;
else if (a<=200000)b=10000+(a-10000)*0.075;
else if(a<=400000)b=17500+(a-200000)*0.05;
else if(a<=600000)b=27500+(a-400000)*0.03;
else if(a<=1000000)b=39500+(a-600000)*0.015;
else b=45500+(a-1000000)*0.01;
printf("%.4f",b);
}
SWITCH方法
#include<stdio.h>
#include<math.h>
Main()
{
float a,b;
int c;
scanf("%f",&a);
c=(int)a/100000;
switch(c)
{case 0:b=a*0.1;break;
case 1:b=10000+(a-10000)*0.075;break;
case 2:
case 3:b=17500+(a-200000)*0.05;break;
case 4:
case 5:b=27500+(a-400000)*0.03;break;
case 6:
case 7:
case 8:
case 9:b=39500+(a-600000)*0.015;break;
default : b=45500+(a-1000000)*0.01;
}
printf("%.4f",b);
}
5-9
#include<stdio.h>
Main()
{
float a,b,c,d,t;
scanf("%f,%f,%f,%f",&a,&b,&c,&d);
if(a<b)
{t=a;a=b;b=t;}
if(a<c)
{t=a;a=c;c=t;}
if(a<d)
{t=a;a=d;d=t;}
if(b<c)
{t=b;b=c;c=t;}
if(b<d)
{t=b;b=d;d=t;}
if (c<d)
{t=c;c=d;d=t;}
printf("%f,%f,%f,%f",a,b,c,d);
}
5-10
#include<stdio.h>
#include<math.h>
Main()
{
float a,b,c,e,f,g,d;
scanf("%f,%f",&a,&b);
c=(a-2)*(a-2)+(b-2)*(b-2);
e=(a-2)*(a-2)+(b+2)*(b+2);
f=(a+2)*(a+2)+(b-2)*(b-2);
g=(a+2)*(a+2)+(b+2)*(b+2);
if (c<=1 || e<=1 || f<=1 ||g<=1)printf("d=10");
elseprintf("d=0");}
习题6
6—1
#include<stdio.h>
#include<math.h>
Main()
{
iint m,n,t=0,x=0,y=0,e,f;
scanf("%d,%d",&m,&n);
e=n;
f=m;
if(m<n)
{t=m;m=n;n=t;}
while(m%n!=0)
{t=m%n;m=n;n=t;}
x=n;
y=(e*f)/x;
printf("%d,%d",x,y);}
6-2
#include<stdio.h>
#include<math.h>
Main()
{
char ch;
int a=0,b=0,c=0,d=0,e=0;
printf("please input the string\n");
while((ch=getchar())!='\n')
{
if(ch<='z'&&ch>='a')a++;
elseif(ch==' ')c++;
elseif(ch<58&&ch>47)d++;
elseif(ch<='Z'&&ch>='A')b++;
elsee++;
}
printf("小写%d大写%d 空格%d 数字%d 其它%d",a,b,c,d,e);
}
6-3
#include<stdio.h>
#include<math.h>
Main()
{
int a,s=1,d;
int i,n;
scanf("%d,%d",&a,&n);
d=a;
for(i=1;i<n;i++)
{s=s*10+1;
d=d+a*s;
}
printf("%d",d);
}
6-4
#include<stdio.h>
#include<math.h>
Main()
{
long int i,j,a=1,b=0;
for(i=1;i<=20;i++)
{for(j=1;j<=i;j++)
a=a*j;
b=b+a;
}
printf("%ld",b);
}
6-5
#include<stdio.h>
#include<math.h>
Main()
{
long int i,j,a=0,b=0;
long int k;float c,d;
for(i=1;i<=100;i++) a=a+i;
for(i=1;i<=50;i++)b=b+i*i;
for(i=1;i<=0;i++)c=c+1.0/k;
d=a+b+c;
printf("%f",d);
}
6-6
#include<stdio.h>
#include<math.h>
Main()
{
int a,b,c,d,i;
for(i=100;i<=999;i++)
{a=i/100;
b=i/10-10;
c=i%10;
d=a*a*a+b*b*b+c*c*c;
if(d==i)printf("%d",i);
}
}
6-7
#include<stdio.h>
#include<math.h>
Main()
{
int i,j,a,b,c;
for(i=2;i<=1000;i++)
{c=1;
a=sqrt(i);
for(j=2;j<=a;j++)
if(i%j==0)
{b=i/j;
c=c+j+b;
}
if(c==i)
printf("%d its factors are\n",c);
}
6-8
#include<stdio.h>
#include<math.h>
Main()
{
int i,j;
float a,b,c,d,m;
a=1;b=2;
c=0;
for(i=1;i<=20;i++)
{d=a+b;
c=c+b/a;
a=b;
b=d;
}
printf("%f",c) ;
}
6-9
#include<stdio.h>
#include<math.h>
Main()
{
float a,b,c,i;
a=100;
c=100;
for(i=2;i<=10;i++)
{
b=a/2.0;
c=c+b*2;
a=b;
}
printf("%f",c);
}
6-10
#include<stdio.h>
#include<math.h>
Main()
{
int i,a,x,c;
x=1;
for(i=2;i<=10;i++)
{
a=2*(x+1);
x=a;
}
printf("%d",a);
}
6-11
#include<stdio.h>
#include<math.h>
Main()
{
float a,x0,xl;
scanf("%f",&a);
x0=a/2;
xl=(x0+a/x0)/2;
do
{x0=xl;
xl=(x0+a/x0)/2;
}
while(fabs(x0-xl)<1e-5);
printf("%.4f\n",xl);
}
}
6-12
#include<stdio.h>
#include<math.h>
Main()
{
}
6-13
#include<stdio.h>
#include<math.h>
Main()
{
float a,b,c,d,i,j,m;
a=-10;b=10;
do{
c=(a+b)/2;
d=2*c*c*c-4*c*c+3*c-6;
if(d>0)b=c;
elseif(d<0)a=c;
}
while(d!=0);
printf("%f",c);
}
6-14
#include<stdio.h>
#include<math.h>
Main()
{
int i,j,k;
for(i=0;i<=3;i++)
{
for(j=1;j<=3-i;j++)
printf(" ");
for(k=0;k<=2*i;k++)
printf("*");
printf("\n");
}
for(i=0;i<=2;i++)
{for(j=0;j<=i;j++)
printf(" ");
for(k=0;k<=4-2*i;k++)
printf("*");
printf("\n");
}
}
6-15
略