SCAU高级语言程序设计--实验4 选择结构(2)

SCAU高级语言程序设计--实验4 选择结构(2)

二、堂下练习

1、判断整数是否为平方数

题目:由键盘输入一个正整数,判断该数是否为平方数,是输出Y,否则输出N

思路:先开平方,再平方即可,因为如果不能开平方,b会取有限小数,所以两个b相乘不能得原数。

#include<stdio.h>
#include<math.h>
int main(){
    int a,b;
    scanf("%d",&a);
    b = sqrt(a);
    if(b*b==a)
        printf("Y");
    else
        printf("N");
    return 0;
}

注意:数学函数记得加头文件“math.h”(其他常用数学函数可参考P26)

 

2、求数的位数

题目:由键盘输入一个不多于9位的正整数,要求输出它是几位数。

思路:熟悉if和else-fi的用法。当然也可以用第二种方法,

#include<stdio.h>
#include<math.h>
int main(){
    int n,w;
    scanf("%ld",&n);
    if(n > 99999999)
        p = 9;
    else if(n > 9999999)
        p = 8;
    else if(n > 999999)
        p = 7;
    else if(n > 99999)
        p = 6;
    else if(n > 9999)
        p = 5;
    else if(n > 999)
        p = 4;
    else if(n > 99)
        p = 3;
    else if(n > 9)
        p = 2;
    else
        p = 1;
    printf("%ld\n",p);
    return 0;
}

 

3、判断点是否在圆上

题目:由键盘输入一个点的坐标, 要求编程判断这个点是否在单位圆(圆心在坐标0,0)上,点在圆上输出Y, 不在圆上输出N。 使用小数点后3位精度进行判断。

思路:点到圆心的距离-单位圆1的距离。由于要精确到小数点后三位,如果该距离小于0.001,则就在圆里。

#include<stdio.h>
#include<math.h>
int main(){
    float a,b;
    scanf("%f,%f",&a,&b);
    if(fabs(a * a + b * b - 1) < 0.001 )
        printf("Y\n");
    else
        printf("N\n");
    return 0;
}

主要:整形的绝对值为abs()函数,浮点型的用fabs();

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值