本文主要是介绍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
这篇关于6.7-6.10作业的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!