第三章
- 计算10年后国民生产总值与现在相比增长多少百分比
代码如下
#include <stdio.h>
#include <math.h>
int main()
{
float p, r;
int n = 10;
r = 0.07;
p = pow(1 + r, n);
printf("p = %f\n", p);
return 0;
}
eturn 0;
}
- 5种存款方法利息的计算
代码如下
#include <stdio.h>
#include <math.h>
float profit(int n, float p)
{
float result = (1 + p * n);
return result;
}
int main()
{
float r5 = 0.03, r3 = 0.0275, r2 = 0.021, r1 = 0.015, r0 = 0.0035;
float p = 1000;
float p1, p2, p3, p4, p5;
p1 = p * profit(5, r5);
p2 = p * profit(2, r2) * profit(3, r3);
p3 = p * profit(3, r3) * profit(2, r2);
p4 = p * pow(1 + r1, 5);
p5 = p * pow(1 + r0 / 4, 4 * 5);
printf("p1 = %f\n", p1);
printf("p2 = %f\n", p2);
printf("p3 = %f\n", p3);
printf("p4 = %f\n", p4);
printf("p5 = %f\n", p5);
return 0;
}
- 购房贷款计算
代码如下
#include <stdio.h>
#include <math.h>
int main()
{
int d = 300000, p = 6000;
float r = 0.01, m;
m = log10(p/(p-d*r))/log10(1+r);
printf("m=%6.1f\n", m);
return 0;
}
- 分析下面的程序
代码如下
#include <stdio.h>
int main()
{
char c1=97, c2=98;
printf("c1 = %c, c2 = %c\n", c1, c2);
printf("c1 = %d, c2 = %d\n", c1, c2);
return 0;
}
输出结果为
c1 = a, c2 = b
c1 = 97, c2 = 98
修改程序后,输出结果为
c1 = ? c2 = ?
c1 = -59, c2 = -58
这是由于字符型char
是作为signed char
类型处理,以%c
格式符输出时,有效范围是0~127;用%d
格式输出时,用补码形式输出。
- 用下面的
scanf
函数输入数据
#include <stdio.h>
int main()
{
int a, b;
float x, y;
char c1, c2;
scanf("a=%d b=%d",&a, &b);
scanf("%f%e", &x, &y);
scanf("%c%c", &c1, &c2);
return 0;
}
在输入x,y后应紧接着输入字符c1,c2,中间不能有空格
- 译码
代码如下
#define _USE_MATH_DEFINES
#include <stdio.h>
#include <math.h>
int main()
{
char c1 = 'C', c2 = 'h', c3 = 'i', c4 = 'n', c5 = 'a';
// 用原字母后面第4个字母代替原来的字母
c1 = c1 + 4;
c2 = c2 + 4;
c3 = c3 + 4;
c4 = c4 + 4;
c5 = c5 + 4;
printf("%c%c%c%c%c\n", c1, c2, c3, c4, c5);
return 0;
}
- 计算圆
代码如下
#include <stdio.h>
int main()
{
float h, r, l, s, sq, vq, vz;
printf("radius = ");
scanf("%f", &r);
printf("height = ");
scanf("%f", &h);
l = 2 * M_PI * r;
s = M_PI * r * r;
sq = 4 * M_PI * r * r;
vq = M_PI * r * r * r;
vz = M_PI * r * r * h;
printf("l = %f\n", l);
printf("s = %f\n", s);
printf("sq = %f\n", sq);
printf("vq = %f\n", vq);
printf("vz = %f\n", vz);
return 0;
}
- 编程序
代码如下
#include <stdio.h>
int main()
{
char c1, c2;
c1 = getchar();
c2 = getchar();
printf_s("print with putchar:");
putchar(c1);
putchar(c2);
printf_s("\n print with printf:");
printf("%c%c", c1, c2);
return 0;
}
连续使用两个getchar()
需要连续输入两个字符,c1
和c2
可定义为整型;使用printf
函数配合格式符%d
即可输出ASCII码;char
类型占一个字节,int
占4个字节,在有效范围内可代替。