2022-05-21_编程练习

第 1 题(编程题)

题目名称:

BC100-有序序列合并

题目内容:

BC100-有序序列合并

点击题目链接,做题

int main()
{
    int n = 0;
    int m = 0;
    int arr1[1005] = { 0 };
    int arr2[1005] = { 0 };
    int arr3[2010] = { 0 };

    //输入n和m
    scanf("%d %d", &n, &m);
    //输入两个升序序列
    int i = 0;
    for (i = 0; i < n; i++)
    {
        scanf("%d", &arr1[i]);
    }
    for (i = 0; i < m; i++)
    {
        scanf("%d", &arr2[i]);
    }

    //合并有序序列
    i = 0;
    int j = 0;
    int k = 0;
    while (i < n && j < m)
    {
        if (arr1[i] < arr2[j])
        {
            arr3[k++] = arr1[i++];
        }
        else
        {
            arr3[k++] = arr2[j++];
        }
    }
    if (i == n)
    {
        for (; j < m; j++)
        {
            arr3[k++] = arr2[j];
        }
    }
    else
    {
        for (; i < n; i++)
        {
            arr3[k++] = arr1[i];
        }
    }
    //arr3打印
    for (i = 0; i < k; i++)
    {
        printf("%d ", arr3[i]);
    }
    return 0;
}


//合并打印
int main()
{
    int n = 0;
    int m = 0;
    int arr1[1000] = { 0 };
    int arr2[1000] = { 0 };

    //输入n和m
    scanf("%d %d", &n, &m);
    //输入两个升序序列
    int i = 0;
    for (i = 0; i < n; i++)
    {
        scanf("%d", &arr1[i]);
    }
    for (i = 0; i < m; i++)
    {
        scanf("%d", &arr2[i]);
    }

    //合并打印
    i = 0;
    int j = 0;
    while (i < n && j < m)
    {
        if (arr1[i] < arr2[j])
        {
            printf("%d ", arr1[i++]);
        }
        else
        {
            printf("%d ", arr2[j++]);
        }
    }
    if (i == n)
    {
        for (; j < m; j++)
        {
            printf("%d ", arr2[j]);
        }
    }
    else
    {
        for (; i < n; i++)
        {
            printf("%d ", arr1[i]);
        }
    }
    return 0;
}

第 2 题(编程题)

题目名称:

BC116-小乐乐改数字

题目内容:

BC116-小乐乐改数字

点击题目链接,做题

#include <stdio.h>
#include <math.h>

int main()
{
    int n = 0;
    int i = 0;
    int sum = 0;

    scanf("%d", &n);
    while (n)
    {
        int m = n % 10;
        if (m % 2 == 1)
            m = 1;
        else
            m = 0;
        sum += m * pow(10, i);
        i++;
        n /= 10;
    }
    printf("%d", sum);
    return 0;
}

第 3 题(编程题)

题目名称:

BC60-带空格直角三角形图案

题目内容:

BC60-带空格直角三角形图案

点击题目链接,做题

int main()
{
    int n = 0;
    while (~scanf("%d", &n))
    {
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < n; j++)
            {
                if (i + j < n - 1)
                {
                    printf("  ");
                }
                else
                {
                    printf("* ");
                }
            }
            printf("\n");
        }
    }
    return 0;
}

第 4 题(编程题)

题目名称:

BC37-网购

题目内容:

BC37-网购

点击题目链接,做题

#include <stdio.h>

int main() {
	double price = 0.0;
	int month = 0;
	int day = 0;
	int flag = 0;
	scanf("%lf %d %d %d", &price, &month, &day, &flag);
	double cut = 0.0;
	double money = 0.0;
	if (month == 11 && day == 11) {
		cut = 0.7;
	}
	else if (month == 12 && day == 12) {
		cut = 0.8;
	}
	money = price * cut - flag * 50;
	if (money < 0) {
		printf("%.2lf", 0.00);
	}
	else {
		printf("%.2lf", money);
	}
	return 0;
}

第 5 题 最小公倍数

题目名称:

最小公倍数

正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。

输入描述:

输入两个正整数A和B。

输出描述:

输出A和B的最小公倍数。

示例1

输入

5 7

输出

35

代码:

int main()
{
	int a = 0;
	int b = 0;
	scanf("%d %d", &a, &b);
	// a * i = b * j = 最小公倍数

	int i = 1;
	while (a * i % b)
	{
		i++;
	}
	printf("%d\n", i * a);

	return 0;
}

第 6 题 倒置字符串

倒置字符串

将一句话的单词进行倒置,标点不倒置。比如 I like beijing. 经过函数后变为:beijing. like I

输入描述:

每个测试输入包含1个测试用例: I like beijing. 输入用例长度不超过100

输出描述:

依次输出倒置之后的字符串,以空格分割

示例1

输入

I like beijing.

输出

beijing. like I

代码:

#include <assert.h>
void reverse(char* left, char* right)
{
	assert(left);
	assert(right);
	while (left < right)
	{
		char tmp = *left;
		*left = *right;
		*right = tmp;
		left++;
		right--;
	}
}
int main()
{
	char arr[101] = { 0 };
	gets(arr);

	int len = strlen(arr);
	//1. 逆序整个字符串
	reverse(arr, arr + len - 1);
	//2. 逆序每个单词
	char* start = arr;

	while (*start != '\0')
	{
		char* end = start;
		while (*end != ' ' && *end != '\0')
		{
			end++;
		}
		reverse(start, end - 1);
		if (*end != '\0')
		{
			end++;
		}
		start = end;
	}

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

	return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
eclipse-jee-2022-09-r-win32-x86_64.zip是指Eclipse IDE的某个版本,该版本适用于Windows 64位操作系统。这是一个压缩文件,其中包含了安装Eclipse所需的完整软件包。 Eclipse是一个流行的开发环境,广泛用于Java和其他编程语言的开发。它具备强大的功能和插件系统,拥有丰富的开发工具和资源,能够帮助开发人员进行代码编写、调试和测试等工作。 这个特定版本的Eclipse被标记为2022-09-r,意味着它是在2022年9月发布的一个小版本。它属于Java Enterprise Edition(JEE)的版本,因此它提供了专门用于开发JEE应用程序的工具和插件。 在Windows操作系统上安装这个Eclipse版本的步骤如下:首先,下载压缩文件eclipse-jee-2022-09-r-win32-x86_64.zip;然后,解压缩该文件到你想要安装Eclipse的目录;接下来,在该目录中找到可执行文件eclipse.exe,并运行它;最后,按照安装向导的指示完成安装过程。 安装完成后,你就可以使用该版本的Eclipse来进行JEE应用程序的开发了。它提供了一系列的工具和功能,如项目管理、代码编辑、调试和构建等,帮助你更高效地开发和管理你的应用程序。 总的来说,eclipse-jee-2022-09-r-win32-x86_64.zip是Eclipse IDE的一个特定版本,适用于Windows 64位操作系统,并且专门用于JEE应用程序的开发。通过安装和使用该版本,你能够更好地进行JEE应用程序的开发工作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值