C语言第二次课作业:
1. 指出下列常量的类型和含义
'\b' 1066 99.44 0XAA
注意:对于八进制和16进制整型数据,系统优化解释为无符号类型(unsigned int)
答:'\b' 退格符,为char类型
1066 为十进制数字,int类型
99.44 为浮点数,float类型
0XAA 为16进制数字,int类型
2. 找出程序中的错误
include <stdio.h>
main(
float g;h
float tax,rate;
g=e21;
tax = rateg;
)
备注:指数计数法 float pre = 1.2e20.其中e的前面必须要有数字。
答1.include前应有#
2.主函数main前有int ,而且后面为(){
3.没有return 0 ;
4.e21前面应有数字
#include<stdio.h>
int main(){
float g,h;
float tax,rate;
g =2.1e1;
tax =rate * g;
return 0;
}
3. 编写一个程序,要求提示输入一个ASCII码值,然后打印其对应的字符
格式如下:
Enter a value of char int ASCII: 97
You input value is 97,and char is a.
答#include<stdio.h>
intmain(){
int a;
printf("Enter a value of char int ASCII:\n");
scanf("%d",&a);
printf("You input value is %d",a);
printf("and char is%c",a);
return 0;
4.1英寸相当于2.54厘米,编写一个程序,提示用户输入身高(单位:英寸),然后以厘米为单位显示身
高。
Enter the inch of your height:70
Hi,your height is 70.00 inch,or 177.80 cm
#include <stdio.h>
#define INCH_TO_CM 2.54f;
int main() {
float inch, cm;
printf("Enter the inch of your height:");
scanf("%f", &inch);
cm = inch * INCH_TO_CM;
printf("Hi,your height is %.2f inch,or %.2f cm\n", inch, cm);
return 0;
}
5.假设ch是char类型的变量,分别使用转义符、十进制、八进制字符常量和十六进制字符常量把回车字符
赋值给ch.(假设使用ASCII编码值)
char ch;
ch = '\r';
ch = 13;
ch = '\015';
ch = '\Xd';
6.指出下列转义符的含义
\n \ " \t
7.在美国的测量体系中,1品脱等于2杯,1杯等于8盎司,1盎司等于2大汤勺,1大汤勺等于3茶勺。编写
一个程序,提示用户输入杯数,并且以品脱、盎司、汤勺、茶勺为单位显示等价容量。
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>#define A 2
#define B 3
int main(){
int a;
printf("输入杯数\n");
scanf("%d", &a);
printf("品脱%d、盎司%d、汤勺%d、茶勺%d", a/A, aAAA, aAAAA, aAAAAB);
return 0;
}
8.假设一个程序的开头是这样的
#define BOOK "War and Peace"
int main(){
float coast = 12.99;
float percent = 80.0;
// 请按如下格式打印内容
/*
This copy of "War and Peace" sells for $12.99.
That is 80% of list.
*/
return 0;
}
说明:%的打印需要使用转换说明符%%。
答:#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#define BOOK "War and Peace"
int main(){
float coast = 12.99;
float percent = 80.0;
printf("This copy of %s sells for $%.2f\n", BOOK,coast);
printf("That is %.1f %% of list.", percent);
return 0;
}
9.编写一个程序,求出两个数中的最大值,并打印。
输出格式
请输入第一个数:10
请输入第二个数:20
10与20的最大数为20
答:#define_CRT_SECURE_NO_WARNINGS1
#include<stdio.h>
intmain(){
int a,b;
printf("请输入第一个数:\n");
scanf("%d",&a);
printf("请输入第二个数:\n");
scanf("%d",&b);
if(a>b)
{
printf("%d与%d最大的数为%d",a,b,a);
}
else if
{
printf("%d与%d最大的数为%d",a,b,b);
}
}
10.编写一个程序,判断输入的数是偶数还是奇数
请输入:37
37是奇数
请输入:38
38是偶数
答:#define_CRT_SECURE_NO_WARNINGS1 #include<stdio.h>
intmain()
{
int a;
printf("请输入:");
scanf("%d",&a);
if(a%2==0);
{
printf("%d是偶数",a);
}
else if(a%2==1);
{
printf("%d是奇数",a);
}
return0;
}
11.编写一个程序,提示用户输入1周工作的小时数,然后打印工资总额、税金和净收入。做如下假设:
a:基本工资= 80元/时
b:加班(工作超过40小时)=按1.5倍的时间计算
c:税率 前2400元为15%;接下来的1200元为20%; 余下的为25%。
用#define定义符号常量
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int workTime;
printf("请输入您的工作时间");
scanf("%d", &workTime);
float ZEa = workTime * 80;
float ZEb = (workTime - 40) * 1.5 * 80 + 40 * 80;
float shuiJinga = ZEa * 0.15;
float shuiJingb = (ZEa - 2400) * 0.2 + 2400 * 0.15;
float shuiJingc = (ZEa - 3600) * 0.25 + (ZEa - 2400) * 0.2 +2400 * 0.15;
if (workTime <= 40)
{
printf("工资总额%.2f\n", ZEa);
if (ZEa <= 2400);
{
printf("税金为%.2f\n",shuiJinga);
printf("净收入为%.2f\n",ZEa-shuiJinga);
} else if (ZEa > 2400);
{
printf("税金为%.2f\n", shuiJingb);
printf("净收入为%.2f\n",ZEa-shuiJingb);