```c #include <stdio.h> #include <stdlib.h> typedef struct BankAccount { double balance; } BankAccount; BankAccount* openaccount(double initial_balance) { BankAccount* account = (BankAccount*)malloc(sizeof(BankAccount)); account->balance = initial_balance; return account; } void deposit(BankAccount* account, double amount) { account->balance += amount; } void withdraw(BankAccount* account, double amount) { if (account->balance < amount) { printf("余额不足,无法取款。 "); exit(1); } account->balance -= amount; } double getbalance(BankAccount* account) { return account->balance; } int main() { // 方法①开户-存款20-取款19.89-查询余额 BankAccount* account1 = openaccount(0); deposit(account1, 20); withdraw(account1, 19.89); printf("账户1余额:%.2f ", getbalance(account1)); free(account1); // 方法②开户-存款20-取款21.01-查询余额 BankAccount* account2 = openaccount(0); deposit(account2, 20); withdraw(account2, 21.01); // 这里会抛出异常并退出程序 printf("账户2余额:%.2f ", getbalance(account2)); free(account2); // 方法③存款20-开户-取款19.89-查询余额 BankAccount* account3 = openaccount(0); deposit(account3, 20); withdraw(account3, 19.89); printf("账户3余额:%.2f ", getbalance(account3)); free(account3); // 方法④取款20-开户-存款20.01-查询余额 BankAccount* account4 = openaccount(0); withdraw(account4, 20); // 这里会抛出异常并退出程序 deposit(account4, 20.01); printf("账户4余额:%.2f ", getbalance(account4)); free(account4); return 0; } ``` [2024-08-08 14:51:41 | AI写代码神器 | 578点数解答]