6.7-6.10作业

cpp 复制代码
/*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");
               else
                   printf("%.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;
}
                                                                              
                                                                              
  1. 输入一个日期,输出这是这一年的第几天?
cpp 复制代码
#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

cpp 复制代码
  1 #include <stdio.h>
  2 #include <stdlib.h>
  3 /*输入一个表达式,实现计算器+- * /%
  4 
  5 例如:1+2,则输出3
  6 
  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 }
~                                                                   
~                                                                   
~                                                                   
  1. 下面代码执行后,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,中间使用空格隔开)

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

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

案例如下:

输入:105

输出:3 5 7

cpp 复制代码
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的二进制值是______。

cpp 复制代码
a = 0b011 // 3的二进制表示
b = 0b110 // 6的二进制表示

a ^ b = 0b101 // 异或结果
(a ^ b) << 2 = 0b10100 // 将异或结果左移2位

c=0b10100

相关推荐
吃什么芹菜卷1 分钟前
深度学习:词嵌入embedding和Word2Vec
人工智能·算法·机器学习
wclass-zhengge5 分钟前
数据结构与算法篇(树 - 常见术语)
数据结构·算法
labuladuo52010 分钟前
AtCoder Beginner Contest 372 F题(dp)
c++·算法·动态规划
夜雨翦春韭12 分钟前
【代码随想录Day31】贪心算法Part05
java·数据结构·算法·leetcode·贪心算法
hsling松子5 小时前
使用PaddleHub智能生成,献上浓情国庆福
人工智能·算法·机器学习·语言模型·paddlepaddle
dengqingrui1236 小时前
【树形DP】AT_dp_p Independent Set 题解
c++·学习·算法·深度优先·图论·dp
C++忠实粉丝6 小时前
前缀和(8)_矩阵区域和
数据结构·c++·线性代数·算法·矩阵
ZZZ_O^O6 小时前
二分查找算法——寻找旋转排序数组中的最小值&点名
数据结构·c++·学习·算法·二叉树
CV-King7 小时前
opencv实战项目(三十):使用傅里叶变换进行图像边缘检测
人工智能·opencv·算法·计算机视觉
代码雕刻家7 小时前
数据结构-3.9.栈在递归中的应用
c语言·数据结构·算法