SCAU 高级语言程序设计 实验四 选择结构

发布时间:2023年12月26日

1018 数的排序

时间限制:1000MS 代码长度限制:10KB
提交次数:6288 通过次数:3742

题型: 编程题 语言: G++;GCC

Description

由键盘输入三个整数a、b、c,按从小到大的顺序输出这三个数。

输入格式

三个数由逗句分隔

输入样例

65,45,90

输出样例

45,65,90

分析:数据小的简单排序。本文使用的排序方法仅为让初学者熟悉选择结构,日后基本不会使用。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
   int a,b,c,t;
    scanf("%d,%d,%d",&a,&b,&c);
    if (a > b)
    {
        t = a; a = b; b = t;
    }
    if (a > c)
    {
        t = a; a = c; c = t;
    }
    if (b > c)
    {
        t = b; b = c; c = t;
    }
        printf("%d,%d,%d",a,b,c);
    return 0;//ctrl cv虽然又快又爽,但自己敲才永远是自己的。
}

1016 字符变换

时间限制:1000MS 代码长度限制:10KB
提交次数:4076 通过次数:2872

题型: 编程题 语言: G++;GCC

Description

由键盘输入5个字符,将其中的大写字符变成小写(其它类型的字符不变),最后,按输入顺序输出这5个字符。

输入样例

ApPLe

输出样例

apple

分析:这道题运用到字符的输入输出。
字符类型char本质是数字,也就是ASCII码。它们是可以做加减运算的。
而大写字母与小写字母相差32。由此我们可以是实现转化。
例如:‘A’+32=‘a’

#include <stdio.h>
int main()
{
    int i;
    char a[6];//定义为6,防止越界
    gets(a);
    for (i = 0; i < 5; i++)
    {
        if (a[i] <= 'Z' && a[i] >= 'A')
            a[i] += 32;
        printf("%c", a[i]);
    }
    return 0;//ctrl cv虽然又快又爽,但自己敲才永远是自己的。
}

1019 数的整除

Description

由键盘输入5个整数,逐个判断它们能否被27整除,能的输出“YES”,不能的输出“NO”(注意,输出时,一个判断结果占一行,5个数的判断共占5行)。

输入格式

用空格分隔

输出格式

一行一个判断

输入样例

8 27 17577 325 54

输出样例

NO
YES
YES
NO
YES

分析:直接用%判断就可以

#include <stdio.h>
int main()
{
    int i;
    int a[6];    
    for (i = 0; i < 5; i++)
    {        
        scanf("%d", &a[i]);
    }
    for (i = 0; i < 5; i++)
    {
        if (a[i] % 27 == 0)
            printf("YES\n");
        else
            printf("NO\n");
    }
    return 0;//ctrl cv虽然又快又爽,但自己敲才永远是自己的。
}

1020 正负奇偶判断

Description

由键盘输入非零整数x,判断该数正负,正数输出positive,负数输出negative,接着判断该数的奇偶性,奇数输出odd,偶数输出even。

输出格式

注意,正负判断结果与奇偶判断结果之间用回车符分隔

输入样例

-43

输出样例

negative
odd

分析:直接判断

#include <stdio.h>
int main()
{
    int i;
    int num;    
            
        scanf("%d", &num);
    
    
        if (num>0)
            printf("positive\n");
        else
            printf("negative\n");
        if (num % 2 == 0)
            printf("even\n");
        else
            printf("odd\n");
        return 0;//ctrl cv虽然又快又爽,但自己敲才永远是自己的。
}

1007 判断平方数

Description

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

输入格式

一个整数

输出格式

Y或者N

输入样例

49

输出样例

Y

分析:
思路一
从1开始遍历到num/2(num的算术平方根不可能超过num/2)
思路二:
利用math库中的sqrt函数(开平方根)

#include <stdio.h>
int main()
{
    int i,mark=1;
    int num;

    scanf("%d", &num);
    for (i = 1; i <= num / 2; i++)
    {
        if (i * i == num)
        {
            printf("Y");            
            mark = 0;//此处的mark是一个标记,如果该数没有平方根,那么mark永远为1;
            break; 
        }
    }
    if (mark)//如果mark=1,则说明num没有平方根
    printf("N");
        return 0;//ctrl cv虽然又快又爽,但自己敲才永远是自己的。
}

#include <stdio.h>
#include<math.h>
int main()
{
    int num;
    scanf("%d", &num);

    if (sqrt(num) * sqrt(num) == num)//sqrt相当与开平方根
        printf("Y");
    else
        printf("N");
    return 0;//ctrl cv虽然又快又爽,但自己敲才永远是自己的。
}

1017 求数的位数

由键盘输入一个不多于9位的正整数,要求输出它是几位数。
输入格式
一个整数
输出格式
输出该数为几位数
输入样例
349213
输出样例
6

分析:因为不知循环几次,使用while循环

#include <stdio.h>
#include<math.h>
int main()
{
    int num,count=0;
    scanf("%d", &num);
    while (num != 0)  //num为0时跳出循环
    {
        num /= 10;
        count++;
    }
    printf("%d",count);
    return 0;//ctrl cv虽然又快又爽,但自己敲才永远是自己的。
}

1120 判断点是否在圆上

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

本题的关键在于精度的判定:小数点后3位
意味着误差小于0.001
在编程时应格外注意数据的范围与处理,这是决定结果的关键,却容易被初学者忽视


#include "stdio.h"
#include "math.h"
int main()
{
    double a, b;
    scanf("%lf,%lf", &a, &b);
    if ((a * a + b * b) <= 1.001 && (a * a + b * b) >= 0.999)
        printf("Y\n");
    else
        printf("N\n");
}//ctrl cv虽然又快又爽,但自己敲才永远是自己的。

1 长方体与圆球

由键盘输入一个形如长方体的盒子的长、宽、高,以及一个圆球的半径,判断该盒子能否完全装下圆球,能输出Y,否则输出N.
输入格式
第一行长方体的三边长
第二行圆球的半径
输出格式
Y或N
输入样例
40.1 50.2 20
21
输出样例
N

分析:球的直径小于长方体的长宽高就完全装下;

#include "stdio.h"
#include "math.h"
int main()
{
    double a, b,c,r;
    scanf("%lf %lf%lf %lf", &a, &b,&c,&r);
    if (2*r<=a&&2*r<=b&&2*r<=c)
        printf("Y\n");
    else
        printf("N\n");
}//ctrl cv虽然又快又爽,但自己敲才永远是自己的。
文章来源:https://blog.csdn.net/hzl12138666/article/details/135152212
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。