目录
5.例3.5求ax2+bx+c=0方程的根。a,b,c 由键盘输人,设b3-4ac>0.
9.假如我国国民生产总值的年增长率为9%,计算10年后我国国民生产总值与现在相比增长多少百分比。
11.购房从银行贷了一笔款d,准备每月还款额为p,月利率为r,计算多少月能还清。设d为300000元,力为6000元,r为1%。对求得的月份取小数点后1位,对第2位按四舍五人处理。
14.设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输人数据,输出计算结果,输出时要求有文字说明,取小数点后2小位数字。请编程序。
15.编程序,用getchar函数读人两个字符给cl和c2 ,然后分别用putchar函数和printf函数输出这两个字符。
第一章
1.例1.2-求两个数和
#include <stdio.h>
int main(int argc, const char *argv[])
{
int a,b,sum;
a=123;
b=456;
sum=a+b;
printf("sum=%d\n",sum);
return 0;
}
2.例1.3-求两个整数中的较大者
#include <stdio.h>
int main(int argc, const char *argv[])
{
int max(int x,int y);
int a,b,c;
printf("请输入两个整数:\n");
scanf("%d %d",&a,&b);
c=max(a,b);
printf("max=%d\n",c);
return 0;
}
int max(int x,int y)
{
int z;
if(x>y)
{
z=x;
}
else
{
z=y;
}
return z;
}
3.ex1.6-求三个数最大值
#include <stdio.h>
int main(int argc, const char *argv[])
{
int max(int x,int y,int z);
int a,b,c,d;
printf("输入三个整数:");
scanf("%d %d %d",&a,&b,&c);
d=max(a,b,c);
printf("max=%d\n",d);
return 0;
}
int max(int x,int y,int z)
{
int max=x;
if (max<y)
{
max=y;
}
if (max<z);
{
max=z;
}
return max;
}
第三章
1.例3.1-温度转换
#include <stdio.h>
int main(int argc, const char *argv[])
{
float f,c;
f=64.56;
c=(5.0/9)*(f-32);
printf("f=%.2f,c=%.2f\n",f,c);
return 0;
}
2.例3.2计算存款利息。 有1000元,想存- -年。有3种方法可选: (1)活期,年利率为
rl; (2)一年期定期,年利率为r2; (3)存两次半年定期,年利率为r3。请分别计算出一年后
按3种方法所得到的本息和。
#include <stdio.h>
int main(int argc, const char *argv[])
{
float p0=1000,r1=0.0036,r2=0.0225,r3=0.0198,p1,p2,p3;
p1=p0*(1+r1);
p2=p0*(1+r2);
p3=p0*(1+r3/2)*(1+r3/2);
printf("p1=%f,p2=%f,p3=%f\n",p1,p2,p3);
return 0;
}
3.例3.3-大小写转换
#include <stdio.h>
int main(int argc, const char *argv[])
{
char a;
printf("请输入一个大写字母:");
scanf("%c",&a);
char b=a+32;
printf("小写字母为:%c\n",b);
return 0;
}
4.例3.4给出三角形 的三边长,求三角形面积。
#include <stdio.h>
#include <math.h>
int main(int argc, const char *argv[])
{
double a,b,c,s,area;
a=3.67;
b=5.43;
c=6.21;
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("a=%f\tb=%fc=%f\n",a,b,c);
printf("area=%f\n",area);
return 0;
}
5.例3.5求ax2+bx+c=0方程的根。a,b,c 由键盘输人,设b3-4ac>0.
#include <stdio.h>
#include <math.h>
int main(int argc, const char *argv[])
{
double a,b,c,disc,x1,x2,p,q;
scanf("%lf%lf%lf",&a,&b,&c);
disc=b*b-4*a*c;
b=-b/(2.0*a);
q=sqrt(disc)/(2.0*a);
x1=p+q;
x2=p-q;
printf("x1=%7.2f,x2=%7.2f\n",x1,x2);
return 0;
}
6.例3.8-putchar输出字符
#include <stdio.h>
int main(int argc, const char *argv[])
{
char a='A';
char b='B';
putchar(a);
putchar(b);
putchar(10);
return 0;
}
7.例3.9-getchar输入字符
#include <stdio.h>
int main(int argc, const char *argv[])
{
#if 0
char a,b,c,d;
printf("请输入4个字符");
a=getchar();
b=getchar();
c=getchar();
d=getchar();
putchar(a);
putchar(b);
putchar(c);
putchar(d);
putchar(10);
#endif
printf("请输入四个字符:");
putchar(getchar());
putchar(getchar());
putchar(getchar());
putchar(getchar());
putchar(10);
return 0;
}
8.例3.10-大小写转换
#include <stdio.h>
int main(int argc, const char *argv[])
{
char c1,c2;
printf("请输入一个大写字母:");
c1=getchar();
c2=c1+32;
putchar(c2);
putchar(10);
return 0;
}
9.假如我国国民生产总值的年增长率为9%,计算10年后我国国民生产总值与现在相比增长多少百分比。
#include <stdio.h>
#include <math.h>
int main(int argc, const char *argv[])
{
float p,r;
int n;
p=pow(1+r,n); //pow(x,y)指数函数x的y次方
printf("p=%f\n",p);
return 0;
}
10.存款利息的计算。有1000元,想存5年,可按以下5种办法存:
(1)一次存5年期。
(2)先存2年期,到期后将本息再存3年期。.
(3)先存3年期,到期后将本息再存2年期。
(4)存1年期,到期后将本息再存1年期,连续存5次。
(5)存活期存款。活期利息每一季度结算一次。
#include <stdio.h>
#include <math.h>
int main(int argc, const char *argv[])
{
float r0,r1,r2,r3,r5,p,p1,p2,p3,p4,p5;
p=1000;
r5=0.0585;
r3=0.054;
r2=0.0468;
r1=0.0414;
r0=0.0072;
p1=p*((1+r5)*5); //一次存5年
p2=p*(1+2*r2)*(1+3*r3); //先存两年,再存三年
p3=p*(1+3*r3)*(1+2*r2); //先存三年,再存两年
p4=p*pow(1+r1,5); //连续存5次一年
p5=p*pow(1+r0/4,4*5); //存活期
printf("p1=%7.2f\n",p1);
printf("p2=%7.2f\n",p2);
printf("p3=%7.2f\n",p3);
printf("p4=%7.2f\n",p4);
printf("p5=%7.2f\n",p5);
return 0;
}
11.购房从银行贷了一笔款d,准备每月还款额为p,月利率为r,计算多少月能还清。设d为300000元,力为6000元,r为1%。对求得的月份取小数点后1位,对第2位按四舍五
人处理。
#include <stdio.h>
#include <math.h>
int main(int argc, const char *argv[])
{
float d=300000,p=6000,r=0.01;
float m=0,n,N;
n=log10(p/(p-d*r));
N=log10(1+r);
m=n/N;
printf("m=%.1f\n",m);
return 0;
}
12.ex3.4
#include <stdio.h>
int main(int argc, const char *argv[])
{
char c1,c2;
// c1=97;
// c2=98;
c1=197;
c2=198;
printf("c1=%c,c2=%c\n",c1,c2);
printf("c1=%d,c2=%d\n",c1,c2);
return 0;
}
13.请编程序将“China”译成密码,密码规律是:用原来的字母后面第4个字母代替原来的字母。例如,字母“A”后面第4个字母是“E" ,用“E”代替“A”。因此,“China”应译为“Glmre”。请编- -程序,用赋初值的方法使c1,c2,c3,c4,c5这5个变量的值分别为'C','h',','n','a' ,经过运算,使c1,c2,c3,c4,c5 分别变为'G','I','m','r','e'。 分别用putchar 函数和printf 函数输出这5个字符。
#include <stdio.h>
int main(int argc, const char *argv[])
{
char c1='C';
char c2='h';
char c3='i';
char c4='n';
char c5='a';
char c6=c1+4;
char c7=c2+4;
char c8=c3+4;
char c9=c4+4;
char c10=c5+4;
putchar(c6);
putchar(c7);
putchar(c8);
putchar(c9);
putchar(c10);
putchar(10);
return 0;
}
14.设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输人数据,输出计算结果,输出时要求有文字说明,取小数点后2小位数字。请编程序。
#include <stdio.h>
#define pi 3.1415926
int main(int argc, const char *argv[])
{
float r,h,c,s,sq,vq,vz;
printf("请输入圆的半径r,圆柱高h:");
scanf("%f,%f",&r,&h);
c=2*pi*r;//园周长
s=r*r*pi;//圆面积
sq=4*pi*r*r;//球表面积
vq=3.0/4*pi*r*r*r;//球体积
vz=pi*r*r*h;//圆柱体积
printf("c=%.2f\n",c);
printf("s=%.2f\n",s);
printf("sq=%.2f\n",sq);
printf("vq=%.2f\n",vq);
printf("vz=%.2f\n",vz);
return 0;
}
15.编程序,用getchar函数读人两个字符给cl和c2 ,然后分别用putchar函数和printf函数输出这两个字符。
#include <stdio.h>
int main(int argc, const char *argv[])
{
char c1,c2;
printf("请输入两个字符:");
// c1=getchar();
// c2=getchar();
scanf("%c,%c",&c1,&c2);
printf("用putchar语句输出结果为:");
putchar(c1);
putchar(c2);
putchar(10);
printf("输出存c1,c2ASCII码值");
printf("%d %d\n",c1,c2);
putchar(10);
printf("用printf语句输出结果为:");
printf("%c %c\n",c1,c2);
return 0;
}