作业一:展开的思路,按要求分析以下代码。
要求不要放到编译器中运行,自己手动分析出每条输出语句的结果,分析出结果后,再在编译器中执行验证结果
void main()
{
int num,num2,num3;
num=1;
num2=2;
num3=3;
num=++num2+ ++num3;
printf("\n%d,%d,%d",num,num2,num3);//输出结果1
num=num2++ + num3++;
printf("\n%d,%d,%d",num,num2,num3); //输出结果2
num=++num2> num3++;
printf("\n%d,%d,%d",num,num2,num3); //输出结果3
num=num2-- && --num3;
printf("\n%d,%d,%d",num,num2,num3); //输出结果4
num = num2>num3 ? num2++ : num3++;
printf("\n%d,%d,%d",num,num2,num3); //输出结果5
}
分析:num++/num--先输出再递增/递减,而++num/--num先递增/递减再输出;对于>/<,输出结果只有0/1;对于&&,有0则结果为0;三目运算符,类同if语句。
由此可得:
结果1:7 3 4
结果2:7 4 5
结果3:0 5 6
结果4:1 4 5
结果5:5 4 6
运行结果:
作业二:使用switch实现简易计算器:例如,输入一个表达式:3+5,程序输出结果为8
分析:简易计算器,即实现简单的加减乘除,要求使用switch语句,故可以使用+-*/作为判断条件
代码:
结果:
作业三:使用switch实现,要求输入一个日期,输出该日期是对应今年的第几天
例如输入:2023 1 20 输出结果:该日期是今年第20天
分析:每年的1,3,5,7,8,10,12月有31天,4,6,9,11月有30天,今年的2月有28天;
利用switch语句不添加break会一直执行剩余语句的特性,对日期求和
代码:
结果:
作业四:编写一个 C 程序,输入三个整数,判断并输出这三个数中的最大值。
分析:对三个数分别都进行比较即可
代码:
结果:
作业五:商场折扣计算器
某商场有一个折扣促销活动,根据顾客购买的商品总额,判断顾客可以享受的折扣。折扣规则如下:
- 如果顾客购买的商品总额
大于 1000 元,则:
-
- 如果总额 大于 2000 元,则享受 15% 的折扣。
- 否则,享受 10% 的折扣。
- 如果顾客购买的商品总额
在 500 元到 1000 元之间,则享受 5% 的折扣。
- 如果顾客购买的商品总额
小于 500 元,则不享受任何折扣。
此外,如果顾客的购买总额小于 0 或大于 10000 元,则提示“无效金额”。
分析:使用if语句进行嵌套即可
代码:
结果:
作业六:提示输入一个整数,判断该数是几位数
分析:使用循环语句处理
代码:
结果:
作业七:编写一个程序,要求用户输入一个整数 num,然后使用 while 循环计算 n!(即 n 的阶乘)。阶乘是一个正整数的所有小于等于它的正整数的积, 并且输入的该数只能在1到20之间
分析:使用循环结构逐个求积,直到满足乘数等于输入的数字;20!很大,使用int存储空间不足,应使用long int
结果:
结果:
标签:24,11,num2,num3,++,结果,num,输出,EX From: https://blog.csdn.net/qq_74406476/article/details/144134314