当前位置: 首页 > news >正文

6.7-6.10作业

1. 

/*1.使用switch实现银行系统,默认用户为A,密码为1234,余额2000
如果登录失败,则直接结束
如果登录成功,则显示银行页面
1.查询余额
2.取钱
3.存钱
如果是1,则打印余额
如果是2,则输入取钱金额,如果金额大于存款则输出余额不足,否则输出剩余金钱
如果是3,则输入存款金额,输出存款后的金*/
int main(int argc, const char *argv[])
{char user=0;int passwd=0;float balance=2000;float qu_money=0;                                                         float cun_money=0;printf("请输入用户及密码:");scanf("%*c%c %d",&user,&passwd);if('A'==user && 1234==passwd){printf("1.查询余额\n");printf("2.取钱\n");printf("3.存钱\n");int num=0;printf("请选择服务:");scanf("%d",&num);switch(num){case 1:printf("余额:%.3f\n",balance);break;case 2:printf("输入取钱金额:\n");\scanf("%f",&qu_money);\if(qu_money>balance)printf("余额不足\n");elseprintf("%.3f\n",balance-qu_money);\break;case 3:printf("输入存款金额:\n");\scanf("%f",&cun_money);\printf("%.3f\n",balance+cun_money);\break;}}else{printf("登录失败\n");exit(0);}return 0;
}

2. 输入一个日期,输出这是这一年的第几天?

#include <stdio.h>int main() {int year=0, month=0, day=0;int dayNumber=0;printf("请输入日期(格式:年/月/日): ");scanf("%d/%d/%d", &year, &month, &day);// 根据月份计算天数switch (month) {case 12: dayNumber = 30; // 十一月case 11: dayNumber += 31; // 十月case 10: dayNumber += 30; // 九月case 9:  dayNumber += 31; // 八月case 8:  dayNumber += 31; // 七月case 7:  dayNumber += 30; // 六月case 6:  dayNumber += 31; // 五月case 5:  dayNumber += 30; // 四月case 4:  dayNumber += 31; // 三月case 3:  // 二月if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {dayNumber += 29; // 闰年} else {dayNumber += 28; // 非闰年}case 2:  dayNumber += 31; // 一月default: break;}// 加上当月天数dayNumber += day;printf("这是这一年的第 %d 天。\n", dayNumber);return 0;
}

3、输入一个表达式,实现计算器+-*/%

例如:1+2,则输出3

5/2, 则输出2.5

  1 #include <stdio.h>2 #include <stdlib.h>3 /*输入一个表达式,实现计算器+- * /%4 5 例如:1+2,则输出36 7 5/2, 则输出2.5*/8 int main() {9     char operation;10     double num1, num2;11 12     printf("请输入一个表达式(例如 1+2): ");13     scanf("%lf %c %lf", &num1, &operation, &num2);14 15     switch(operation) {16         case '+':17             printf("结果: %.2lf\n", num1 + num2);18             break;19         case '-':20             printf("结果: %.2lf\n", num1 - num2);21             break;22         case '*':23             printf("结果: %.2lf\n", num1 * num2);24             break;25         case '/':26             if(num2 != 0.0) {  // 检查分母是否为零27                 printf("结果: %.2lf\n", num1 / num2);28             } else {29                 printf("除数不能为0。\n");30             }31             break;32         case '%':33             if((int)num2 != 0) {  // 检查模数是否为零34                 printf("结果: %.0d\n", (int)num1 % (int)num2);35             } else {36                 printf("模数不能为0。\n");37             }38             break;39         default:40             printf("无效的操作符。\n");41     }42                                                                 43     return 0;44 }
~                                                                   
~                                                                   
~                                                                   

4. 下面代码执行后,a\b\c的结果是?

int a=5,b=7,c

c=a+++b

这段代码在C语言中会产生未定义行为,因为表达式a++ + b没有明确的顺序点

5.

代码如下

void main()

{

int c=9,d=0;

c=c++%5;

d=c;

printf("d=%d\n",d);

}

d=4

6. 

.给定一个整数,判断它是否被3、5、7整除,并输出一下信息 (笔试)

1.能同时被3,5,7整除(直接输出3 5 7,每个数字之间一个空格)

2.只能内其中两个整数整除(输出两个数,小的在前,大的在后,例如3 5 或者 3 7 或者5 7,中间使用空格隔开)

3. 只能被其中一个整数整除(输出这个除数)

4.不能被任何数整除,输出小写字母n

案例如下:

输入:105

输出:3 5 7

1 #include <stdio.h>
2 
3 /*.给定一个整数,判断它是否被3、5、7整除,并输出一下信息 (笔试)
4 1.能同时被3,5,7整除(直接输出3 5 7,每个数字之间一个空格)
5 2.只能内其中两个整数整除(输出两个数,小的在前,大的在后,例如3 5 或者 3 7 或者5 7,中间使用空格隔开)
6 3. 只能被其中一个整数整除(输出这个除数)
7 4.不能被任何数整除,输出小写字母n
8 案例如下:
9 输入:105
0 输出:3 5 7*/
1 
2 int main() {
3     int num;
4     scanf("%d", &num);
5 
6     int count = 0;
7     if (num % 3 == 0) {
8         printf("3 ");                                                                                          
9         count++;
0     }
1     if (num % 5 == 0) {
2         printf("5 ");
3         count++;
4     }
5     if (num % 7 == 0) {
6         printf("7 ");
7         count++;
8     }
9 
0 
1     return 0;
2 }

7.  

 b=10,c=12,d=120

8.

c=-75        a=181

d=5;

e=(++d)++;
增量操作数需要左值

9.设有以下语句:int a=3,b=6,c;c=a^b<<2;则c的二进制值是______。

a = 0b011 // 3的二进制表示
b = 0b110 // 6的二进制表示a ^ b = 0b101 // 异或结果
(a ^ b) << 2 = 0b10100 // 将异或结果左移2位

c=0b10100

http://www.lryc.cn/news/368691.html

相关文章:

  • 【Redis】Redis经典问题:缓存穿透、缓存击穿、缓存雪崩
  • 从GPU到ASIC,博通和Marvell成赢家
  • 【java问答小知识6】一些Java基础的知识,用于想学习Java的小伙伴们建立一些简单的认知以及已经有经验的小伙伴的复习知识点
  • 数学建模笔记
  • shell编程(三)—— 控制语句
  • 反射学习记
  • 使用Python操作Redis
  • Vue-CountUp-V2 数字滚动动画库
  • C语言详解(文件操作)1
  • Python Requests库详解
  • Kafka 详解:全面解析分布式流处理平台
  • RabbitMQ系列-rabbitmq无法重新加入集群,启动失败的问题
  • postgresql之翻页优化
  • 小白学Linux | 日志排查
  • Spring6
  • 数字孪生概念、数字孪生技术架构、数字孪生应用场景,深度长文学习
  • 云服务对比:阿里云国际站和阿里云国内站有什么区别
  • 如何在npm上发布自己的包
  • SQL Chat:从SQL到SPEAKL的数据库操作新纪元
  • jmeter性能优化之mysql配置
  • VueRouter3学习笔记
  • 「前端+鸿蒙」鸿蒙应用开发-TS函数
  • python后端结合uniapp与uview组件tabs,实现自定义导航按钮与小标签颜色控制
  • mingw如何制作动态库附python调用
  • Vue学习|Vue快速入门、常用指令、生命周期、Ajax、Axios
  • Python基础教程(八):迭代器与生成器编程
  • Oracle10.2.0.1冷备迁移之_数据文件拷贝方式
  • 智能合约中外部调用漏洞
  • 转型AI产品经理(4):“认知负荷”如何应用在Chatbot产品
  • 【C++11】常见的c++11新特性(一)