标签:函数 style 是什么 sum tab clu 开平 std 变量类型
程序编译与运行原理与过程
理解算法竞赛程序三部曲:输入、计算、输出;记住算法竞赛的目标及其对程序的要求;保持简单(Keep It Simple and Stupid, KISS)
附录A
黑盒测试
顺序结构程序设计,分支结构程序设计
C99,C11(无gets)
C编译器 gcc、visual c++系列、(无需编译直接执行的c语言解释器 Ch、TCC)
变量类型、声明、输入输出格式(不匹配造成的结果、%03d不足3位补0)、编码与运算、范围
查文档printf,输出字符%d
数学函数使用方法与常用函数 <math.h>
逻辑表达式、运算符优先级、短路运算符
Pi的表示方式 <math.h>中的M_PI, ANSI C(C89)标准, gcc-ansi编译尝试
如何理解 a ^= b ^= a ^= b (^为异或)
圆柱体表面积 (const 声明常量、pi的表示)
1 #include <stdio.h> 2 #include <math.h> 3 int main() 4 { 5 const double pi = acos(-1.0); 6 double r, h, s1, s2, s; 7 scanf("%lf%lf", &r, &h); 8 s1 = pi*r*r; 9 s2 = 2 * pi*r*h; 10 s = s1*2.0 + s2; 11 printf("Area = %.3f\n", s); 12 return 0; 13 }
1 #include <stdio.h> 2 int main() 3 { 4 int a, b; 5 scanf("%d%d", &a, &b); 6 a = a + b;//适用与定义了加减法的数据类型 7 b = a - b;//异或代替加减法实现,简写为 a ^= b ^= a ^= b; 8 a = a - b; 9 printf("%d %d\n", a, b); 10 return 0; 11 }
数据类型实验
A1:11111*11111正确;6个1错误,为负数;9个1结果错误,为正数
A2:11111.0*11111.0正确;6个1正确;9个1结果接近正确,个位错误
A3:sqrt(x)返回浮点数,当x为负数返回-nan(ind)。
nan是"not a number"的缩写,即计算结果不是个数。
例如:32位数实际指数128,数符1或0,指数域二进制1111 1111。尾数域等于非零。
ind 是 indeterminate 的缩写,即无法确定是什么。
对负数开平方,对负数取对数,0.0除以0.0,0.0乘无穷大∞, 无穷大∞除以无穷大∞等错误都会得到它。
A4:1.0 / 0.0, 0.0 / 0.0
报错error C2124: 被零除或对零求模
B1 B2 B3 在scanf格式中插入空格、tab、回车可行
B4:在scanf格式输入字符,输出为负数
查文档printf,输出字符%d
1-1平均数
1 #include <stdio.h> 2 int main() 3 { 4 int a, b, c; 5 scanf("%d%d%d", &a, &b, &c); 6 printf("%.3f\n", (a + b + c) / 3.0); 7 return 0; 8 }
1-2温度(摄氏温度c = 5*(华氏温度f-32)/9)
1 #include <stdio.h> 2 int main() 3 { 4 float f; 5 scanf("%f", &f); 6 printf("%.3f", 5 * (f - 32) / 9);//c=5*(f-32)/9 7 return 0; 8 }
1-3连续和
1 #include <stdio.h> 2 int main() 3 { 4 int n, sum = 0; 5 scanf("%d", &n); 6 //for (int i = 1; i <= n; i++) 7 // sum += i; 8 //printf("%d\n", sum); 9 printf("%d\n", n*(n + 1) / 2); 10 return 0; 11 }
1-4正弦和余弦(math,h中的sin、cos、pi)
1 #include <stdio.h> 2 #include <math.h> 3 int main() 4 { 5 const double pi = acos(-1.0); 6 double n; 7 scanf("%lf", &n); 8 printf("%lf %lf\n", sin(pi*(n / 180)), cos(pi*(n / 180)));//double角度 9 return 0; 10 }
1-5打折
1 #include <stdio.h> 2 int main() 3 { 4 float x; 5 scanf("%f", &x); 6 if (95 * x >= 300.0) printf("%.2f\n", 95 * x*0.85); 7 else printf("%.2f\n", 95 * x); 8 return 0; 9 }
1-6三角形
1 #include <stdio.h> 2 int main() 3 { 4 int a[3], book = 1; 5 for (int i = 0; i < 3; i++) 6 scanf("%d", &a[i]); 7 for (int i = 0; i < 3; i++) 8 { 9 if (a[i % 3] + a[(i + 1) % 3]<a[(i + 2) % 3] || a[i % 3] - a[(i + 1) % 3]>a[(i + 2) % 3]) 10 { 11 book = 0; 12 break; 13 } 14 } 15 if (book) printf("yes\n"); 16 else printf("not a triangle\n"); 17 return 0; 18 }
1-7年份(闰年概念)
1 #include <stdio.h> 2 int main() 3 { 4 int y, book = 0; 5 scanf("%d", &y); 6 if (y % 400 == 0) book = 1; 7 else if (y % 4 == 0 && y % 100 != 0) book = 1; 8 if (book) printf("yes\n"); 9 else printf("no\n"); 10 return; 11 }
标签:函数 style 是什么 sum tab clu 开平 std 变量类型
原文地址:http://www.cnblogs.com/berred/p/7707465.html