用C语言编写出 小红有10.5元钱,借给小明2.7元,小红还剩多少钱?

 我来答
自我编程
2020-03-12 · 科技优质答主
自我编程
采纳数:1481 获赞数:4283

向TA提问 私信TA
展开全部

这道题目,考的是编程思路不是过程。过程就是一个金额增加,一个金额减少。但从思路上讲:

1、小红和小明都是一个对象包含多个信息(比如姓名,存款金额等),所以从编程上将两人信息用结构来存储。(没学过结构可用数组代替,首选结构,考虑扩展)。

2、借钱过程不是单纯加减,而是一个能重复执行的行为功能,要用独立函数来写,传递参数是两个行为人(结构)以及要借款的金额。函数过程是处理借款过程,返回值是借款结构(成功或失败及原因)。

3、借款行为包含了各种情况,比如拒绝借款,金额不足等,这些要体验中函数过程中。

下面是演示代码:

#include <stdio.h>

typedef struct people

{

    char name[20];

    float money;

}PE;

int jieQian(PE *pe1,PE *pe2,float money);//参数:借款双方信息,借款的金额。返回0借款失败,返回1借款成功

int main()

{

    float money;

    PE pe1,pe2;

    printf("程序初始化设置:");

    printf("请输入借钱目标姓名:"),scanf("%s",pe1.name);

    printf("请输入借钱目标存款:"),scanf("%f",&pe1.money);

    printf("请输入借钱人的姓名:"),scanf("%s",pe2.name);

    printf("请输入借钱人的存款:"),scanf("%f",&pe2.money);

    printf("\n");

    while(1){

        printf("请输入要借款的金额:"),scanf("%f",&money),getchar();

        if(jieQian(&pe1,&pe2,money))

            printf("本次借款成功后%s存款%.1f元,%s存款%.1f元\n\n\n",pe1.name,pe1.money,pe2.name,pe2.money);//这里接收返回值判断,是为了外围处理(比如统计),我这边没有处理就直接打印结果。

        else

            printf("\n\n\n");

    }

    return 0;

}

int jieQian(PE *pe1,PE *pe2,float money)

{

    char n=0;

    while(n!='N'&& n!='Y')

        printf("请判断%s是否同意借款(Y/N):",pe1->name),scanf("%c",&n),getchar();

    if(n=='N')

    {

        printf("%s向%s借款%.1f元失败,原因%s拒绝借款!\n",pe2->name,pe1->name,money,pe1->name);

        return 0;

    }

    if(pe1->money<money)

    {

        printf("%s向%s借款%.1f元失败,原因%s存款不足!\n",pe2->name,pe1->name,money,pe1->name);

        return 0;

    }

    pe1->money-=money;

    pe2->money+=money;

    printf("%s向%s借款%.1f成功!\n",pe2->name,pe1->name,money);

    return 1;

}

匿名用户
2020-03-12
展开全部
double have,lend,sheng;
printf("小红有的钱\n");
scanf("%lf",&have);
printf("小红借给小明的钱\n");
scanf("%lf",&lend);
printf("小红剩的钱\n");
sheng=have-lend;
printf("%lf",sheng);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
余慕苼5D
2020-03-12 · TA获得超过206个赞
知道小有建树答主
回答量:467
采纳率:85%
帮助的人:47.8万
展开全部
include<iostream>
using namespace std;
int main()
{
float a=10.5,b=2.7;
flaot c;
c=a–b;
cout<<c<<endl;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式