(1) 有地方放输入的数字
(2) 有办法输入数字
(3)输入的数字能参与计算
#define _CRT_SECURE_NO_WARNINGS 1//防止scanf出错
#include
int main()
{
const int AMOUNT = 100;//定义的常量
int price = 0;
printf("请输入金额(元):");//输出
scanf("%d", &price);//输入
int change = AMOUNT - price;
printf("找您%d元。\n", change);
return 0;
}
固定不变的数是常数,直接写在程序里称为直接量
· 在程序中定义一个常量更加清晰明了
eg:const int AMOUNT=100;
int price = 0;
printf(“请输入金额(元):”);//输出
scanf(“%d”, &price);//输入
int change = AMOUNT - price;
表达意思:const 是一个修饰符,在int前用来给变量加上一个const(不变的)属性,表示这个变量的值一旦初始化,就不能修改.
形式改变:
//计算身高的程序
#define _CRT_SECURE_NO_WARNINGS 1
#include
int main()
{
printf("请分别输入身高的英尺和尺寸,"
"如输入\ "5 7\ "表示5英尺7英寸:");
int foot;
int inch;
scanf("%d %d", &foot, &inch);
printf("身高是%f米。\n",
((foot + inch / 12) * 0.3048));//改法一:(foot + inch / 12.0) * 0.3048)
return 0;
}
改法二:
double foot;
double inch;
scanf(“%lf %lf”,&foot,&inch);
eg:
①(错误):#include
int main()
{
printf("%d\n", 10 / 3);
return 0;
}
②(正确)#include
int main()
{
printf("%f\n", 10 .0/ 3);
return 0;
}
一个表达式是一系列运算符和算子的组合,用来计算一个值。
eg:amount=x*(1+0.033)(1+0.33)(1.0.33);
total=57;
count=count+1;
value=(min/2)*LastValue
运算符:指进行运算的动作,例如加法运算符"+“,减法运算符”-"。
算子:指参与运算的值,可能是常数,也可能是变量,还可能是一个方法的返回值。
eg:a=b+5
“=”“+”为运算符;“a”“b”“5”为算子。
计算时间差:
#define _CRT_SECURE_NO_WARNINGS
#include
int main()
{
int hour1, minute1;
int hour2, minute2;
scanf("%d %d", &hour1, &minute1);
scanf("%d %d", &hour2, &minute2);
int t1 = hour1 * 60 + minute1;//hour1*60+minute1→== 转换为分钟单位 ==
int t2 = hour2 * 60 + minute2;
int t = t2 - t1;
printf("时间差是%d小时%d分。",t / 60, t % 60);//t/60→小时部分;t%60→分钟
return 0;
}
(1)
#define _CRT_SECURE_NO_WARNINGS
#include
int main()
{
int a, b;
scanf ("%d %d", &a, &b);
double c = (a + b) / 2.0;
printf("%d和%d的平均值=%f\n", a, b, c);
return 0;
}
(2) ------------------运算符优先级--------------------
优先级 运算符 运算 结合关系 举例
(3) 赋值运算符:
赋值也是运算,是有结果的
a=6的结果是a被赋予的值,也就是6
a=b=6→→→a=(b=6)
(4) 嵌入式赋值:(缺点:不利于阅读,容易产生错误)
int a=6;
int b;
int c=1+(b=a);
(5)结合关系:
一般是自左向右
单目±和赋值=自右向左
#include
int main()
{
int a= 5;
int b = 6;
int t;
t = a;
a = b;
b = t;
printf("a=%d,b=%d\n", a, b);
return 0;
}
//ps:断点:点击左侧数字,取消:变为输入状态
eg:
#include
int main()
{
int a;
a = 10;
printf("a++=%d\n",a++);
printf("a=%d\n",a);
printf("++a=%d\n", ++a);
printf("a=%d\n", a);
return 0;
}
吃本题要求编写程序,计算2个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内。
输入格式:
输入在一行中给出2个正整数A和B。
输出格式:
在4行中按照格式“A 运算符 B = 结果”顺序输出和、差、积、商。
输入样例:
3 2
输出样例:
3 + 2 = 5
3 - 2 = 1
3 * 2 = 6
3 / 2 = 1*/
#define _CRT_SECURE_NO_WARNINGS
#include
int main()
{
int a, b;
scanf("%d %d", &a, &b);
printf("%d + %d = %d\n", a, b, a + b);
printf("%d - %d = %d\n", a, b, a - b);
printf("%d * %d = %d\n", a, b, a * b);
printf("%d / %d = %d\n", a, b, a / b);
return 0;
}
如果已知英制长度的英尺foot和英寸inch的值,那么对应的米是(foot+inch/12)*0.3048。现在,如果用户输入的是厘米数,
那么对应英制长度的英尺和英寸是多少呢?别忘了1英尺等于12英寸。
输入格式:
输入在一行中给出1个正整数,单位是厘米。
输出格式:
在一行中输出这个厘米数对应英制长度的英尺和英寸的整数值,中间用空格分开。
输入样例:
170
输出样例:
5 6
*/
#define _CRT_SECURE_NO_WARNINGS 1
#include
int main()
{
int cm;
printf("请输入厘米数:");
scanf("%d", &cm);
int foot = cm /30.48;
printf("%d", foot);
int inch = (cm / 30.48 - foot) * 12;
printf("%d %d",foot,inch);
return 0;
}
有时候人们用四位数字表示一个时间,比如1106表示11点零6分。现在,你的程序要根据起始时间和流逝的时间计算出终止时间。
读入两个数字,第一个数字以这样的四位数字表示当前时间,第二个数字表示分钟数,计算当前时间经过那么多分钟后是几点,
结果也表示为四位数字。当小时为个位数时,没有前导的零,即5点30分表示为530。注意,第二个数字表示的分钟数可能超过60,
也可能是负数。
输入格式:
输入在一行中给出2个整数,分别是四位数字表示的起始时间、以及流逝的分钟数,其间以空格分隔。注意:在起始时间中,
当小时为个位数时,没有前导的零,即5点30分表示为530;流逝的分钟数可能超过60,也可能是负数。
输出格式:
输出四位数字表示的终止时间。题目保证起始时间和终止时间在同一天内。
输入样例:
1120 110
输出样例:
1310
*/
#define _CRT_SECURE_NO_WARNINGS
#include
int main()
{
int first;
int pass;
scanf("%d", &first);
scanf("%d", &pass);
//printf("%d\n", first / 100 * 60);
//printf("%d\n", first % 100);
int change= first / 100 * 60+ first % 100;
/*printf("%d\n", change);
printf("%d\n", change + pass);*/
int result = change + pass;
printf("%d\n", result / 60 * 100 + result % 60);
return 0;
}
程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。
输入格式:
每个测试是一个3位的正整数。
输出格式:
输出按位逆序的数。
输入样例:
123
输出样例:
321*/
#define _CRT_SECURE_NO_WARNINGS
#include
int main()
{
int num = 712;
int digit = 0;
digit = num % 10;//去除最后一位11
printf("%d", digit);
num /=10;
digit = num % 10;
printf("%d", digit);
num /= 10;
digit = num % 10;
printf("%d", digit);
num /= 10;
return 0;
}
BCD数是用一个字节来表达两位十进制的数,每四个比特表示一位。所以如果一个BCD数的十六进制是0x12,它表达的就是十进制的12。但是小明没学过BCD,把所有的BCD数都当作二进制数转换成十进制输出了。于是BCD的0x12被输出成了十进制的18了!
现在,你的程序要读入这个错误的十进制数,然后输出正确的十进制数。提示:你可以把18转换回0x12,然后再转换回12。
输入格式:
输入在一行中给出一个[0, 153]范围内的正整数,保证能转换回有效的BCD数,也就是说这个整数转换成十六进制时不会出现A - F的数字。
输出格式:
输出对应的十进制数。
输入样例:
18
输出样例:
12*/
#define _CRT_SECURE_NO_WARNINGS