千家信息网

C语言简单题目举例分析

发表于:2024-09-21 作者:千家信息网编辑
千家信息网最后更新 2024年09月21日,本篇内容主要讲解"C语言简单题目举例分析",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"C语言简单题目举例分析"吧!题目题目描述针对等额本金还款模式的客户,
千家信息网最后更新 2024年09月21日C语言简单题目举例分析

本篇内容主要讲解"C语言简单题目举例分析",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"C语言简单题目举例分析"吧!

题目

题目描述

针对等额本金还款模式的客户,写一个程序按顺序输入贷款总额(单位为万元)、月利率、贷款总月数,输出第一个月客户还款金额(单位为元,取整数)。

等额本金计算公式如下:

每月还款金额= (贷款本金/ 还款总月数)+(本金- 已归还本金累计额)×每月利率

输入

依次输入贷款总额(整数,单位:万元)、月利率(浮点数)、贷款总月数(整数)

输出

月还款金额(取整数,单位:元)

前面几个题目就不说了,实在太简单,这个题目也很简单,但是我被摩擦就是没有看好题目,我刚开始是拿笔在纸上这样写的。完全没注意题目输出第一个月客户还款金额

而且,没写出来,最后上了个厕所后才写出来。

我刚开始的答案是

#include

intmain()

{

inta,b;

floati =;

ints;

scanf("%d %f %d",&a,&i,&b);

printf("%d\n",i*10000*a+a*10000/b);

return;

}

结果输出

后面我改成(是对手交了答案从我旁边走过去,我上完厕所后才先起来改一下)

#include

intmain()

{

inta,b;

floati =;

ints;

scanf("%d %f %d",&a,&i,&b);

s =i*10000*a+a*10000/b;

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

return;

}

到这里,我就不明白了,为什么我一定要用一个变量接收数据才可以呢?看着同事一个个交卷,自己被摩擦的感觉非常不好,那时候,唉,默默的去上个厕所,他们写完还在旁边讨论,我更加紧张了,这点点,那点点,时间就过去了。

后来结束后,我相信,这样也可以

#include

intmain()

{

inta,b;

floati =;

ints;

scanf("%d %f %d",&a,&i,&b);

s =i*10000*a+a*10000/b;

printf("%f\n",i*10000*a+a*10000/b);

return;

}

但这样后面有很多小数点是不符合要求的,随便改成下面的

#include

intmain()

{

inta,b;

floati =;

ints;

scanf("%d %f %d",&a,&i,&b);

s =i*10000*a+a*10000/b;

printf("%3.2f\n",i*10000*a+a*10000/b);

return;

}

看到后面输出长度也变成2了

再改一下

#include

intmain()

{

inta,b;

floati =;

ints;

scanf("%d %f %d",&a,&i,&b);

printf("%3.0f\n",i*10000*a+a*10000/b);

return;

}

输出

这样就正确了,但是前面为什么这样呢?

看文章

嵌入式Linux:C语言printf详解

zhuanlan.zhihu.com

所以如果改成这样

#include

intmain()

{

inta,b;

floati =;

ints;

scanf("%d %f %d",&a,&i,&b);

printf("%7.0f\n",i*10000*a+a*10000/b);

return;

}

输出

补充

我后面一直想不明白,为什么强制类型不生效,所以现在都睡不着,肯定是紧张哪里写错了,没有及时改正,我想了下,这样写也是可以的

#include

intmain()

{

inta,b;

floati =;

ints;

scanf("%d %f %d",&a,&i,&b);

printf("%d\n",(int)(i*10000*a+a*10000/b));

return;

}

到此,相信大家对"C语言简单题目举例分析"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

0