c语言学习二

编写一个程序,提示用户从键盘输一个星期的薪水(以美元为单位)和工作时数,它们均为浮点数,然后计算并输出每个小时的平均薪水,输出格式如下所示:

Your average hourly pay rate is 7 dollars and 54 cents.

#include <stdio.h>
int main(int argc, char** argv) {

	float salary = 0.0f;
	float time = 0.0f;
	float avg = 0.0f;
	int a = 0;

	printf("Please enter a week‘s salary(In us dollars for the unit):\n");
	scanf("%f",&salary);

	printf("Please enter a week of work time:\n");
	scanf("%f",&time);

	avg = salary/time;
	a = (int)avg;
	avg = (avg-a)*100;
	printf("Your average hourly pay rate is %d dollars and %2.0f cents.",a,avg);

	return 0;
}

这里需要对获得的结果分别输出整数和小数部分。所以先声明一个整型变量a,强制转换avg的值,获得整数部分。然后用avg的值减去a的值,获得小数部分乘100,输出的时候%2.0f 宽度为2小数点后为0.来输出美分的部分。

时间: 2024-10-24 14:17:09

c语言学习二的相关文章

C语言学习(二)--数据类型

基本数据类型 C语言的基本数据类型是:整型.字符型.单精度浮点型.双精度浮点型. 类别 类型名 数据长度 字符 char 8位 短整型 short int.unsigned short int 16位 整型 int.unsigned int 32位 长整型 long int.unsigned long int 32位 单精度浮点型 float 32位 双精度浮点型 double 64位   枚举类型 枚举类型就是指它的值为符号常量而不是字面值的类型.声明形式: enum Door_Type {O

R语言学习(二)

1.复数的向量:用complex()函数生成复数向量 EX: > x<-seq(-pi,pi,by=pi/10)%x的值 > y<-sin(x)%y值> z<-complex(re=x,im=y)%re为实部,im为复部 > plot(z);lines(z)%绘制图形 运行如下: 2.向量的下标运算 R软件提供了十分灵活的访问向量元素和向量子集的功能,x向量的某一个元素可以用x[i]格式访问 EX: > x<-c(1,4,7)> x[2][1]

Dart语言学习(二) Dart的常量和变量

1.使用var声明变量,可赋予不同类型的值 2.未初始化时候,默认值未null var a; print(a); a = 10; print(a); a = 'Hello Dart'; print(a); 输出: null 10 Hello Dart 3. 使用final声明一个只能赋值一次的变量 4. 使用const声明常量 使用const声明的必须是编译器常量 5.声明变量的方式 var : [编译期]确定[变量类型] dynamic : [运行期]确定[变量类型] bool int dou

脚本语言学习(二)

循环语句与range函数 循环语句 格式: for 变量 in range (参数) 被循环执行的语句 说明:range的参数就是循环的次数.缩进的语句会被循环执行.变量表示每次循环的计数,如果range后面的次数是固定的,那么变量就是0到(次数减1). 例子: 注意:print函数有一种输出方法,是将你要输出的各种信息之间用逗号分隔,那么输出之后,每输出的字符串之间会增加空格,所以hello:和i之间会有一个空格. range函数 作用:产生循环计数序列 使用方法: range(N) 作用是产

JavaScript--基于对象的脚本语言学习笔记(二)

第二部分:DOM编程 1.文档象模型(DOM)提供了访问结构化文档的一种方式,很多语言自己的DOM解析器. DOM解析器就是完成结构化文档和DOM树之间的转换关系. DOM解析器解析结构化文档:将磁盘上的结构化文档转换成内存中的DOM树 从DOM树输出结构化文档:将内存中的DOM树转换成磁盘上的结构化文档 2.DOM模型扩展了HTML元素,为几乎所有的HTML元素都新增了innerHTML属性,该属性代表该元素的"内容",即返回的某个元素的开始标签.结束标签之间的字符串内容(不包含其它

黑马程序员——c语言学习心得——函数传递二维数组

黑马程序员——c语言学习心得——函数传递二维数组 -------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.定义指针的时候一定要初始化.   变量定义的时候给变量初始化,这是保证不出错的一个很好的习惯.尤其是在指针的使用上,如果我们没有给指针初始化,就会出现野指针,该指针的指向并不是我们所希望的,一旦错误的释放了这个指针,就会发生内存的访问.那么如何初始化指针变量呢,一般有以下几种方法:   1.初始化空指针   int* pInteger=N

C语言学习(二)——字符串和格式化输入输出

C语言学习(二)——字符串和格式化输入输出 1.char数组类型和空字符 C没有为字符串定义专门的变量类型,而是把它存储在char数组里.数组的最后一个位置显示字符\0.这个字符就是空字符,C用它来标记字符串的结束,其ASCII码的值为(或者等同于)0.C的字符串存储时通常以这个空字符结束,该字符的存在意味着数组的单元数必须至少比要存储的字符数多1.计算机可以自己处理大多数这些细节问题(例如,scanf( )会添加'\0'使得数组内容成为C字符串). 2.strlen( )函数与sizeof运算

【C语言学习】指针再学习(二)之数组的指针

★一维数组 一个整型数据为4个字节.4个字节就是32位,即可以表示2^32个数字 在程序中定义一个数组a[5] = {1,2,3,4,5}; 那么a[0]的地址就是0x00000000,数组名a是数组首元素的地址,a的地址也是0x00000000.a+1则表示的地址是0x00000004,而不是0x00000001.因为1这个值,根据前面的指针a所指向的类型的长度来调整自己的长度.也就是说如果a是指向整型的指针,那么后面加的1也表示4个字节,如果a是指向字符型的指针,那么后面加的1表示1个字节.

扎实学习C语言(二)结构和联合

关于结构体的一个问题: 看下面这个结构体的声明,把它记作A struct node { int a; float b; struct node *next; }s; 和如下的结构体声明,把它记作B struct node { int a; float b; struct node next; }s; 他们的区别是啥? 今天学习<C和指针>第10章,以前,没注意过这个问题,现在对声明和定义的理解又深了一点 声明是要告诉编译器,这个甜饼机做出来的甜饼有多大,但是甜饼机不是甜饼本身,定义就是甜饼本身