C基础0607作业

练习一

使用switch实现银行系统,默认用户为A,密码为1234,余额2000

如果登录失败,则直接结束

如果登录成功,则显示银行页面

1.查询余额

2.取钱

3.存钱

如果是1,则打印余额

如果是2,则输入取钱金额,如果金额大于存款则输出余额不足,否则输出剩余金钱

如果是3,则输入存款金额,输出存款后的金额

#include <myhead.h>
#define USER 'A'
#define passwd 1234

int main(int argc, const char *argv[])
{
	char user;
	int pwd;
	int remove;
	int deposit;
	int balance = 2000;
	int c;

	printf("欢迎使用华清银行ATM系统\n---------------------------\n请输入您的账户与密码:\n");
	printf("账户 ");
	user = getchar();
	printf("密码 ");
	scanf("%d", &pwd);
	if(user == USER && pwd == passwd)
	{
		printf("--------------------------\n");
		printf("登录成功\n");
		while(1)
		{
			printf("请选择您需要办理的业务\n");
			printf("-----------------------\n");
			printf("1、查询余额\n2、取钱\n3、存钱\n4、退出\n");
			scanf("%d", &c);
			switch(c)
			{
			case 1:
				printf("-----------------------\n");
				printf("您的余额为 %d 元\n", balance);
				printf("-----------------------\n");
				break;
			case 2:
				printf("-----------------------\n");
				printf("请输入您要取出的金额 ");
				scanf("%d", &remove);
				if(remove > balance)
				{
					printf("余额不足\n");
				}
				else
				{
					balance -= remove;
					printf("取出成功,您的余额为 %d 元\n", balance);
				}
				printf("-----------------------\n");
				break;
			case 3:	
				printf("-----------------------\n");
				printf("请输入您要存入的金额 ");
				scanf("%d", &deposit);
				balance += deposit;
				printf("存入成功,您的余额为 %d 元\n", balance);
				printf("-----------------------\n");
				break;
			case 4:return 0;
			}
			putchar(10);
		}
	}
	else
	{
		printf("账户或密码错误,请重新输入\n");
		return 0;
	}
	return 0;
}

练习二

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

eg:2024/3/2 则输出62天

scanf("%d/%d/%d",&a,&b,&c)

#include <myhead.h>

int main(int argc, const char *argv[])
{
	int year,moth,day;
	int tow = 0;
	int sum = 0;

	printf("请输入要判断的日期(中间用空格隔开):");
	scanf("%d%d%d", &year, &moth, &day);
	if( (year%4==0 && year%100!=0) || (year%400==0) )
	{
		tow = 29;       //闰年2月29天
	}else
	{
		tow = 28;       //平年2月28天
	}

	switch(moth)
	{
	case 12:	sum += 30;
	case 11:	sum += 31;
	case 10:	sum += 30;
	case 9:	sum += 31;
	case 8:	sum += 31;
	case 7:	sum += 30;
	case 6:	sum += 31;
	case 5:	sum += 30;
	case 4:	sum += 31;
	case 3:	sum += tow;
	case 2:	sum += 31;
	case 1:	sum += day;break;
	default:
	{
		printf("您输入的月份有误!\n");
	}
	printf("该日期是今年的第%d天\n", sum);

	return 0;
}

练习三

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

例如:1+2,则输出3

5/2, 则输出2.5

#include <myhead.h>

int main(int argc, const char *argv[])
{
	int a, b;
	char c;
	printf("Please input a formula  ");
	scanf("%d%c%d", &a, &c, &b);
	switch(c)
	{
	case '+': printf("%d + %d = %d\n", a, b, a+b);
			  break;
	case '-': printf("%d - %d = %d\n", a, b, a-b);
			  break;
	case '*': printf("%d × %d = %d\n", a, b, a*b);
			  break;
	case '/': 
			  if(b == 0)
				  printf("error!\n");
			  else
			  printf("%d ÷ %d = %f\n", a, b, (float)a/b);
			  break;
	case '%': printf("%d % %d = %d\n", a, b, a%b);
			  break;
	default : printf("error!\n");break;
	}
	return 0;
}

练习四

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

int a=5,b=7,c

c=a+++b

a = 6, b = 7, c = 12

练习五

代码如下

void main()

{

int c=9,d=0;

c=c++%5;

d=c;

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

}

d=5

练习六

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

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

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

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

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

案例如下:

输入:105

输出:3 5 7

#include <myhead.h>

int main(int argc, const char *argv[])
{
	int num;
	printf("Input  ");
	scanf("%d", &num);
	printf("Output ");
	if(num%3 == 0)
		printf("3 ");	
	if(num%5 == 0)
		printf("5 ");
	if(num%7 == 0)
		printf("7 ");
	putchar(10);
	if(num%3!=0 && num%5!=0 && num%7!=0)
		printf("n\n");
	return 0;
}

练习七

b, c, d : 10, 12, 120

练习八

c=-75 a=181

d=6 e=5

练习九

0001 1011

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值