6.线段问题

题目:有一条直线,线上有n个点(n>=2),请问这条直线会被分隔成多少个线段。n从键盘输入。

解题思路:先计算出两个点、三个点、四个点时线段的数量,由此可得出规律,继而可得出答案.

当直线上有2个点时,组成1条线段;

当直线上有3个点时,组成3条线段;

当直线上有4个点时,组成6条线段;

当直线上有5个点时,组成10条线段,

∴当直线上有n个点时组成[n/2](n-1)条线段.

代码部分解释:

在c语言里面如果先用n/2,当n为奇数时结果会是小数,若此时设置的结果是int,则会将小数部分省略(因为float类型转换成int是强制转换,相当于舍尾取整,把小数部分都去掉了就剩整数了。),将使得结果不准确,所以在c语言中公式要写成(n*(n-1))/ 2。

#include<stdio.h>
int main() 
{ 
    int a,b;
    scanf("%d",&a);
    b=(a*(a-1))/2;
    printf("%d",b);

    return 0; 
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值