标签:style blog ar io color 使用 sp on 数据
-------------------------------------------------------------------------------------------------
实际的计算中我们接触的数据不仅仅是整型,那么C语言程序中只使用int也会带来一些问题。
从一个例子开始:
#include <stdio.h> int main() { int a; printf("输入一个数,得到除以3的结果 :"); scanf("%d", &a); printf("%d", a/3); //3,小数部分被自动舍去 return 0; }
解决方法:
1. 使用浮点数做除法运算(整数和浮点数做运算,C将把整数转为浮点数,然后进行浮点数运算)
#include <stdio.h> int main() { double a; double b; printf("请依次输入两个数,如1 2,计算相除的结果:\n"); scanf("%lf %lf", &a, &b); //输入用%lf printf("相除结果是:%f \n", a/b); //输出用%f return 0; }
2. 直接将整数值改为浮点值参与运算
#include <stdio.h> int main() { printf("%f", 10.3/3); //3.333333 return 0; }
数据类型:
整数
int
scanf("%d");
printf("%d", 5);
浮点数
double
scanf("%lf", &a);
printf("%f", 10.0);
计算:
#include <stdio.h> int main() { //计算1小时30分钟与3小时20分的时间差 /* 步骤:1.使用变量存储数值 2.设定换算方式(公式):小时取分钟差后除以60取整数部分,分钟为分钟差后除以60取余 3.得到结果 */ int hour1, minute1; int hour2, minute2; scanf("请输入时间1的小时和分钟:%d %d", &hour1, &minute1); //读入用户的输入值 scanf("请输入时间2的小时和分钟:%d %d", &hour2, &minute2);
int t1 = hour1 * 60 + minute1;
int t2 = hour2 * 60 + minute2;
int t = t2 - t1;
printf("时间差为%d小时%d分钟", t/60, t%60); //相比下面的方式,效率高些
/*
printf("时间差为%d小时%d分钟", ((hour2*60+minute2)-(hour1*60+minute1))/60, ((hour2*60+minute2)-(hour1*60+minute1))%60);
*/
return 0; }
求平均值
#include <stdio.h> int main(int argc, const char * argv[]) { //求平均值 int a,b; printf("请输入两个数:"); scanf("%d %d", &a, &b); printf("平均值为:%f", (a + b) / 2.0); }
运算符优先级:+(正),-(负),*(乘),/(除),%(取余),+(加),-(减),=(赋值)
交换变量的值:
由于程序是按步执行,如果简单赋值,最后只会得到两个相同的值,这时候就需要第三个变量。
#include <stdio.h> int main() { int a = 5; int b = 8; int c; c = a; a = b; b = c; printf("a=%d b=%d", a, b); }
@黑眼诗人 <www.chenwei.ws>
标签:style blog ar io color 使用 sp on 数据
原文地址:http://www.cnblogs.com/farwish/p/4168470.html