您的位置:首页 > 科技 > 能源 > 设计本家居_亿速云官网_快速将网站seo_发帖推广百度首页

设计本家居_亿速云官网_快速将网站seo_发帖推广百度首页

2024/12/21 23:38:47 来源:https://blog.csdn.net/2301_80391227/article/details/144175264  浏览:    关键词:设计本家居_亿速云官网_快速将网站seo_发帖推广百度首页
设计本家居_亿速云官网_快速将网站seo_发帖推广百度首页
  • 实验名称

        实验二 选择结构程序设计

  • 实验目的

        (1)掌握关系运算符和逻辑运算符的使用方法,能够表达复杂的逻辑条件。

        (2)掌握if语句的使用方法,掌握多重条件下的if语句嵌套使用。

        (3)掌握switch语句的用法。

  • 实验题目
  1. 输入一个5位数,判断它是不是回文数(即12321是回文数,个位与万位相同,十位与千位相同)
  2. 输入三角形的3条边a、b、c,判断它们能否构成三角形。若能构成三角形,求出三角形的面积。(s=a+b+c2,三角形面积area=s(s-a)(s-b)(s-c) )
  3. 输入4个整数,要求按从小到大的顺序输出。
  4. 输入任意一个1~7之间的整数,将它们转换成对应的表示星期几的英文单词。例如:1转换成Monday,7转换成Sunday。
  5. 编程实现以下功能:读入两个运算数(data1和data2)及一个运算符(op),计算表达式data1 op data2的值,其中op可为+,-,*,/(用switch语句实现)。
  • 实验环境

        硬件:个人电脑;软件:Visual C++ 6.0

  • 实验代码及结果(程序运行结果请以截屏图给出)
  1. 源程序代码:

#include <stdio.h>

#include <stdbool.h>

bool isPalindrome(int num)

{

    // 提取万位数字

    int tenThousands = num / 10000;

    // 提取千位数字

    int thousands = (num / 1000) % 10;

    // 提取十位数字

    int tens = (num / 10) % 10;

    // 提取个位数字

    int ones = num % 10;

    // 比较相应位置上的数字是否相同

    if (tenThousands == ones && thousands == tens)

        return true;

    else

        return false;

}

int main()

{

    int num;

    printf("请输入一个5位数: ");

    scanf("%d", &num);

    // 判断输入的数字是否是回文数

    if (isPalindrome(num))

        printf("%d 是回文数\n", num);

    else

        printf("%d 不是回文数\n", num);

    return 0;

}

运行结果为:

  1. 源程序代码:

#include <stdio.h>

#include <math.h>

#include <stdbool.h>

bool judge(double a, double b, double c) // 判断输入的三条边能否构成三角形

{

    return (a + b > c) && (a + c > b) && (b + c > a);

}

double count(double a, double b, double c) // 计算三角形的面积

{

    double s = (a + b + c) / 2.0;

    return sqrt(s * (s - a) * (s - b) * (s - c));

}

int main()

{

    double a, b, c;

    printf("请输入三角形的三条边: ");

    scanf("%lf %lf %lf", &a, &b, &c);

    if (judge(a, b, c))

    {

        double area = count(a, b, c);

        printf("这三条边能构成三角形,其面积为: %.2lf\n", area);

    }

    else

        printf("这三条边不能构成三角形!\n");

    return 0;

}

运行结果为:

  1. 源程序代码:

#include <stdio.h> 

 

// 冒泡排序函数,用于对数组进行升序排序 

void Sort(int arr[], int n)

    for (int i = 0; i < n-1; i++)

    { 

        for (int j = 0; j < n-i-1; j++)

        { 

            if (arr[j] > arr[j+1])

            { 

                // 交换arr[j]和arr[j+1] 

                int temp = arr[j]; 

                arr[j] = arr[j+1]; 

                arr[j+1] = temp; 

            } 

        } 

    } 

 

int main()

    int numbers[4]; 

  

    printf("请输入4个整数: "); 

    for (int i = 0; i < 4; i++)  

        scanf("%d", &numbers[i]); 

 

    // 对输入的4个整数进行排序 

    Sort(numbers, 4); 

 

    // 输出排序后的结果 

    printf("排序后的结果为: "); 

    for (int i = 0; i < 4; i++) 

        printf("%d ", numbers[i]);   

 

    return 0; 

}

运行结果为:

  1. 源程序代码:

#include <stdio.h>

int main()

{

    int dayNumber;

    printf("请输入1~7之间的整数(代表星期一到星期日): ");

    scanf("%d", &dayNumber);

    switch (dayNumber)

    {

        case 1:

            printf("Monday\n");

            break;

        case 2:

            printf("Tuesday\n");

            break;

        case 3:

            printf("Wednesday\n");

            break;

        case 4:

            printf("Thursday\n");

            break;

        case 5:

            printf("Friday\n");

            break;

        case 6:

            printf("Saturday\n");

            break;

        case 7:

            printf("Sunday\n");

            break;

        default:

            printf("输入无效,请输入1~7之间的整数。\n");

            break;

    }

    return 0;

}

运行结果为:

  1. 源程序代码:

#include <stdio.h>

int main()

{

    double data1, data2, result;

    char op;

    printf("请输入第一个操作数、运算符(+, -, *, /)和第二个操作数:\n ");

    scanf("%lf %c %lf", &data1, &op, &data2);

    switch (op)

    {

        case '+':

            result = data1 + data2;

            break;

        case '-':

            result = data1 - data2;

            break;

        case '*':

            result = data1 * data2;

            break;

        case '/':

            result = data1 / data2;

            break;

        default:

            printf("错误:无效的运算符。\n");

            return 1;

    }

    printf("结果是: %.2lf\n", result);

    return 0;

}

运行结果为:

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com