一些简单的编程题(Java与C语言)

embedded/2024/10/15 16:03:38/

引言:

这篇文章呢,小编将会举一些简单的编程题用来帮助大家理解一下Java代码,并且与C语言做个对比,不过这篇文章所出现的题目小编不会向随缘解题系列里面那样详细的讲解每一到题,本篇文章的主要目的是帮助小编和读者们熟悉Java代码。后续小编将会开始更新java模块的知识体系!!!

一、题目一

编写程序数一下1到 100 的所有整数中出现多少个数字9

1- 题目分析

首先,1~100之间要想出现9,只有可能出现在个位或者十位上,比如说19,这里9就出现在个位上,又比如说91,这里9就出现在十位上,因此我们想要得到1~100以内9的个数,只需要将该数num/10这样就可以得到十位上的数字,num%10这样就可以得到个位上的数字

2- C语言代码编写:

java">#include <stdio.h>
int main()
{int count = 0;//计数器用来存放9的个数for (int i = 1; i <= 100; i++){if (i / 10 == 9 )count++;//十位上是9就加1if (i % 10 == 9)count++;//个位上是9就加1}printf("%d", count);return 0;
}

3- Java代码编写:

java">public class Test {public static void main(String[] args) {int count = 0; //存放9的个数for (int i = 1; i <= 100 ; i++) {if(i/10 == 9)count++;if(i%10 == 9)count++;}System.out.println(count);}
}

4- 结果演示:

 3b6d073c87be42d9b2bdb6cb1dffe2c7.png

二、题目二

输出 1000 - 2000 之间所有的闰年

1- 题目分析

关于闰年相比大家都已经很熟悉了,简单说一下判断是不是闰年有两种方法;

  1. 能被4整除但不能被100整除
  2. 能被400整除的数

通过循环获得1000~2000的数。

2- C语言代码编写:

java">#include <stdio.h>
int main()
{for (int i = 1000; i <= 2000; i++){if ((i % 4 == 0 && i % 100 != 0) || i % 400 == 0){printf("%d ", i);}}return 0;
}

3- java代码编写:

java">    public class Test {public static void main(String[] args) {for (int i = 1000; i <= 2000 ; i++) {if(i%4 == 0 && i % 100!=0 || i%400==0){System.out.println(i);}}}
}

4- 结果演示:

63bcf9d674a04e0b8fbc397eb4dd46ef.png

36c4137d33a1439881bc9ddb52fe5b2a.png 三、题目三

计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值 。

1- 题目分析

本题分子都是1,且分母从1~100,每个数想表示出来很简单,因此这道题唯一需要解决的问题就是怎么表示正负,表示正负的方法有很多,这里我就使用一种来介绍一下,看代码

2- C语言代码编写:

java">#include <stdio.h>
int main()
{double sum = 0.0;int flg = 1;//假设起始为1for (int i = 1; i <= 100; i++){sum = sum + 1.0 / i * flg;//1.0/i是为了得到的数字是小数类型,每位数都与flg相乘flg = -flg;//如果上一个flg是1,则下次循环时flg变为-1,实现正负交替}printf("%lf", sum);return 0;
}

3- java代码编写:

java">    public class Test {public static void main(String[] args) {double sum = 0.0;int flg = 1;for (int i = 1; i <= 100 ; i++) {sum = sum + 1.0/i*flg;flg = -flg;}System.out.println(sum);}
}

4- 结果演示:

4309ac655fe44c37ad054bccd7fdf390.png

135bd114588c40ddba697b4851a69234.png 四、题目四

输出一个整数的每一位,如:123的每一位是3,2,1

1- 题目分析:

可以通过num%10得到最低位,再通过num/10去除最低位

这里就不详细介绍怎么得到的了,如果有不会的可以点这里查看

题目讲解(2)-CSDN博客

2- C语言代码编写:

java">#include <stdio.h>
int main()
{int num = 0;scanf("%d", &num);while (num){printf("%d ", num % 10);num /= 10;}return 0;
}

3- Java代码编写:

java的数据输入:

java">import java.util.Scanner;
public class Test {
public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int num = scanner.nextInt();while(num!=0){System.out.println(num%10);num = num /10;}}
}

 这里使用了java中的数据输入,后面介绍java的时候会讲到

4- 结果演示:

c4c7033725754e1da84b9bc025759ffa.png

9975e947f60a4208ac429b619d6a4d47.png

五、题目五

编写代码模拟三次密码输入的场景。 最多能输入三次密码,密码正确,提示“登录成功”,密码错误, 可以重新输入,最多输入三次。三次均错,则提示退出程序

1- 题目分析

首先需要设置一个正确密码,然后再创建一个数组用来存放你输入的密码,题目中说了有三次输入机会,因此可以使用while循环,循环条件可以是输入次数不为0,这样当循环次数为0也就是说三次都输错了,退出循环。使用strmp函数来比较我们输入的字符串与原密码是否相等,如果相等,则提示登陆成功。

2- C语言代码编写:

java">#include <stdio.h>
#include <string.h>
int main() {char rightPIN[] = "123456"; // 设定正确密码char inputPIN[20];int count = 3;while (count != 0) {printf("请输入密码:");scanf("%s", inputPIN);if (strcmp(inputPIN, rightPIN) == 0) //比较输入的密码是否和正确密码一样{printf("登录成功!\n");return 0;}else {printf("密码错误,请重新输入。\n");count--;}}printf("三次密码输入错误,退出程序。\n");return 0;
}

3- java代码编写:

java">import java.util.Scanner;
public class Test {   
public static void main(String[] args) {int count = 3;Scanner scanner = new Scanner(System.in);while(count != 0){System.out.println("你还有"+count+"次机会");System.out.println("请输入密码:");String pass = scanner.nextLine();if (pass.equals("123456")){System.out.println("登陆成功");return;}else{count--;}}}
}

这里使用了java字符串比较的方法,后续也会介绍到。 

4- 结果演示:

6fe92cca75944fd29ae61c571f5ea9f7.png

7bcef1e8beb4492cb0e3593babdd30af.png


结语:

这篇文章没有介绍什么知识点,主要是为了引出小编后续将要介绍的知识,不过从这篇文章也能了解一些关于java的用法,比如说java的输入,输出,以及字符串比较!

关于C语言的知识,小编还没有更新完成,不过不用担心小编更新Java就不更新C语言后面的知识了,关于C语言剩下的那点内容,小编呢会找时间将它们全部介绍完,能够让大家在我这里找到完整的C语言笔记。敬请期待!!!


http://www.ppmy.cn/embedded/127946.html

相关文章

成都睿明智科技有限公司共创抖音电商新篇章

在当今这个数字化浪潮汹涌的时代&#xff0c;抖音电商以其独特的魅力迅速崛起&#xff0c;成为众多商家竞相追逐的新蓝海。在这片充满机遇与挑战的领域中&#xff0c;成都睿明智科技有限公司凭借其专业的服务、创新的策略和敏锐的市场洞察力&#xff0c;成为了众多商家信赖的合…

Xcode报错:Undefined symbols,Linker command failed with exit code1

这种编译报错点击Xcode左侧的小红叉这两行点击没反应&#xff0c;不知道具体报错原因怎么弄&#xff1f; 解决办法&#xff1a; 第一步&#xff1a;点周Xcode左侧工具栏的编译log日志按钮 第二步&#xff1a;第一步点击完Xcode左侧出现了编译历史列表&#xff0c;可以看到有报…

Maven(10)如何使用Maven进行多模块项目管理?

使用Maven进行多模块项目管理是一种常见的做法&#xff0c;它可以帮助你组织大型项目&#xff0c;使其结构更加清晰&#xff0c;便于维护和构建。以下是使用Maven创建和管理多模块项目的详细步骤&#xff1a; 步骤1&#xff1a;创建父项目 首先&#xff0c;创建一个空的Maven…

实验kubernetes的CPU绑定策略

CPU 管理配置 CPU 管理策略通过 kubelet 参数 --cpu-manager-policy 或 KubeletConfiguration 中的 cpuManagerPolicy 字段来指定。 支持两种策略&#xff1a; none&#xff1a;默认策略。static&#xff1a;允许为节点上具有某些资源特征的 Pod 赋予增强的 CPU 亲和性和独占…

如何有效进行主机加固?深信达MCK提供答案

在数字化时代&#xff0c;企业面临的网络安全威胁日益严峻&#xff0c;尤其是勒索病毒等恶意软件的攻击&#xff0c;给企业带来了巨大的挑战。为了有效应对这些威胁&#xff0c;企业需要采取全面的网络安全防护措施&#xff0c;其中主机加固成为了关键的一环。深信达的MCK主机加…

排队模型和贪心算法,贪心算法在算力共享排队系统中的应用

目录 排队模型和贪心算法 一、排队模型概述 二、贪心算法简介 三、排队模型与贪心算法的关系 四、实例说明 贪心算法在算力共享排队系统中的应用 贪心算法的局限性 排队模型和贪心算法 之间存在密切的关系,主要体现在排队问题的求解过程中。 一、排队模型概述 排队模…

How to list the environment variables in MySQL based on podman

有时候&#xff0c;我们期望系统的、完整的输出mysql中的环境变量&#xff0c;但是只是想看看&#xff0c;不想安装mysql&#xff0c;有没有什么好的办法呢&#xff1f; 其实&#xff0c;答案是有的。我们可以基于docker/podman来完成&#xff0c;这里推荐podman&#xff0c;示…

vue中关于router.beforeEach()的用法

router.beforeEach()是Vue.js中的路由守卫&#xff0c;用于在路由跳转前进行校验、取消、重定向等操作。 基本使用&#xff1a; const router new VueRouter({ ... })router.beforeEach((to, from, next) > {// ... }) to: 即将要进入的目标路由对象 from: 当前导航正要…