目录
1.假如我国国民生产总值的年增长率为7%,计算10年后我国国民生产总值与现在相比增长多少百分比。计算公式为p=(1+r)?r为年增长率,n为年数,p为与现在相比的倍数。
7.设圆半径r=1.5,圆柱高 h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用 scanf输入数据,输出计算结果,输出时要求有文字说明,取小数点后 2位数字。请编程序。
#include <stdio.h> //方法一(利用循环) int main() { float p = 1.0f; float r = 0.07; int n = 10; for (int i = 0; i < n; i++) { p *= (1 + r); } printf("%f\n", p); return 0; } //方法二(利用函数) #include <math.h> int main() { float p = 1.0f; float r = 0.07; int n = 10; p = pow(1 + r, n); printf("%f\n", p); return 0; }
#include <stdio.h> #include <math.h> int main() { int p = 1000;//本金 int n = 5;//存款年限 float r1 = 0.015, r2 = 0.021, r3 = 0.0275, r5 = 0.03, r0 = 0.0035;//利息 float p1 = p * (1 + n * r5);//一次存5年 float p2 = p * (1 + 2 * r2) * (1 + 3 * r3);//先存2年,在存3年 float p3 = p * (1 + 3 * r3) * (1 + 2 * r2);//先存3年,在存2年 float p4 = p * pow(1 + r1, n);//存1年,连续存5次 float p5 = p * pow(1 + r0 / 4, 4 * n);//存5年活期 printf("%.2f\n", p1);//第一种方式的本息和 printf("%.2f\n", p2);//第二种方式的本息和 printf("%.2f\n", p3);//第三种方式的本息和 printf("%.2f\n", p4);//第四种方式的本息和 printf("%.2f\n", p5);//第五种方式的本息和 return 0; }
#include <stdio.h> #include <math.h> int main() { int d = 300000, p = 6000; float r = 0.01; float m = (log(p) - log(p - d * r)) / log(1 + r); printf("m = %.1f\n", m); return 0; }
???????
第一行是以单个字符形式输出,97、98在ASCII码表中分别表示a和b;第二行是以十进制整数形式输出。
char的表示范围为 -128~127,而这两个数都超出了范围,所以真实存储的值得从头算起,即c1=-59,c2=-58,而以字符格式输出时它不能够显示,所以为??;以十进制整数格式输出时为-59、-58。
🌴🌴🌴:?
在C语言中,整数类型的范围取决于它们的有符号或无符号属性,以及它们的大小(即字节数)。以下是C语言中常见整数类型的范围:
1. 有符号整数类型:
?🍂: `char`:通常为1个字节,范围可以是-128到127或0到255,取决于编译器的实现。
?🍂 : `short`:通常为2个字节,范围可以是-32,768到32,767或0到65,535。
?🍂: `int`:通常为4个字节,范围可以是-2,147,483,648到2,147,483,647或0到4,294,967,295。
?🍂:? `long`:通常为4个字节或8个字节,范围取决于编译器和操作系统,可以是-2,147,483,648到2,147,483,647或-9,223,372,036,854,775,808到9,223,372,036,854,775,807。2. 无符号整数类型:
? 🍂:`unsigned char`:通常为1个字节,范围为0到255。
? 🍂: `unsigned short`:通常为2个字节,范围为0到65,535。
? 🍂:?`unsigned int`:通常为4个字节,范围为0到4,294,967,295。
? 🍂: `unsigned long`:通常为4个字节或8个字节,范围取决于编译器和操作系统,可以是0到4,294,967,295或0到18,446,744,073,709,551,615。
整型形式虽然能存储下197和198,但以字符形式打印时却存储不下,会转化为-59和-58,为不可显示字符,所以打印出来为??。
上面的类型和下面的类型不相同时不需要空格,scanf函数会自动分隔。
#include <stdio.h> int main() { char c1 = 'C', c2 = 'h', c3 = 'i', c4 = 'n', c5 = 'a'; c1 += 4; c2 += 4; c3 += 4; c4 += 4; c5 += 4; printf("使用putchar函数输出:>"); putchar(c1); putchar(c2); putchar(c3); putchar(c4); putchar(c5); printf("\n"); printf("使用printf函数输出:>"); printf("%c%c%c%c%c", c1, c2, c3, c4, c5); return 0; }
???????
#include <stdio.h> int main() { float pi = 3.14; float r, h; printf("请输入半径和高度:>"); scanf("%f %f", &r, &h); //圆周长 float Circumference = 2 * pi * r; //圆面积 float CircleArea = pi * r * r; //圆球表面积 float Surface_area_of_sphere = 4 * pi * r * r; //圆球体积 float SphereVolume = 4 / 3 * pi * r * r * r; //圆柱体积 float CylinderVolume = pi * r * r * h; printf("圆周长:> %.2f\n", Circumference); printf("圆面积:> %.2f\n", CircleArea); printf("圆球表面积:> %.2f\n", Surface_area_of_sphere); printf("圆球体积:> %.2f\n", SphereVolume); printf("圆柱体积:> %.2f\n", CylinderVolume); return 0; }
???????
#include <stdio.h> int main() { char c1, c2; c1 = getchar(); c2 = getchar(); printf("使用putchar函数输出:>"); putchar(c1); putchar(c2); printf("\n"); printf("使用printf函数输出:>"); printf("%c%c\n", c1, c2); return 0; }
本题考查的是char类型的范围,如果输入的字符ASCII码值在-128~127之间,则二者皆可;如果ASCII码值超过这个范围,就只能定义为整型。
应该用printf函数,putchar函数只能输出字符。
如果要输入的数据不超出127,则两者皆可;如果输入数据的ASCII码值超出了127,则不能用字符变量,必须用整型变量。