Day04 C语言作业

作业1

展开的思路,按要求分析以下代码。

要求不要放到编译器中运行,自己手动分析出每条输出语句的结果,分析出结果后,再在编译器中执行验证结果

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
}

输出结果如下:

  1. 7, 3, 4
  2. 7, 4, 5
  3. 0, 5, 6
  4. 1, 4, 5
  5. 5, 4, 6

作业2

编程实现:输入华氏温度F,要求输出对应的摄氏温度C, 要求结果保留两位小数。

计算公式为:C = 5/9*(F-32);

#include <stdio.h>

int main(int argc, const char * argv[]) {
	// 输入华氏温度F,要求输出对应的摄氏温度C,要求结果保留两位小数。
	float f, c;
	printf("请输入华氏温度F:");
	scanf("%f", &f);
	c = (5.0 / 9.0) * (f - 32);
	printf("%.2f华氏度为%.2f摄氏度\n", f, c);
	return 0;
}

在这里插入图片描述

作业3

使用 switch 实现简易计算器:例如,输入一个表达式:3+5,程序输出结果为 8

#include <stdio.h>

int main(int argc, const char * argv[]) {
	// 使用switch实现简易计算器
	int num1, num2;  // 表达式两边的数字
	char op;         // 运算符
	printf("请输入一个表达式: ");
	scanf("%d %c %d", &num1, &op, &num2);
	switch (op) {
		case '+':
			printf("%d\n", num1 + num2);
			break;
		case '-':
			printf("%d\n", num1 - num2);
			break;
		case '*':
			printf("%d\n", num1 * num2);
			break;
		case '/':
			printf("%d\n", num1 / num2);
			break;
		default:
			printf("error\n");
			break;
	}
	return 0;
}

在这里插入图片描述

作业4

使用 switch 实现,要求输入一个日期,输出该日期是对应今年的第几天

例如输入:2023 1 20 输出结果:该日期是今年第 20 天

#include <stdio.h>

int main(int argc, const char * argv[]) {
        // 使用 switch 实现,要求输入一个日期,输出该日期是对应今年的第几天
        int year, month, day;
        printf("请输入年月日:");
        scanf("%d%d%d", &year, &month, &day);
        // 判断是不是闰年
        int run = (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;
        int count = 0; // 记录前几月份的天数
        switch (month) {
                case 12: count += 30;
                case 11: count += 31;
                case 10: count += 30;
                case 9: count += 31;
                case 8: count += 31;
                case 7: count += 30;
                case 6: count += 31;
                case 5: count += 30;
                case 4: count += 31;
                case 3: count += run ? 29 : 28; // 闰年2月有29天
                case 2: count += 31;
                case 1: count += 0;
        }
        printf("%d\n", count + day); // 需要加上本月份的天数
        return 0;
}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值