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

news/2024/10/18 17:31:34/

引言:

这篇文章呢,小编将会举一些简单的编程题用来帮助大家理解一下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/news/1540045.html

相关文章

ZBrush和3D-Coat各自的优缺点是什么?

zbrush支持的模型面数高英文界面&#xff0c;3d coat支持的模型面数比zbrsh低有中文界 ZBrush优缺点 1、ZBrush优点&#xff1a; zbrush是高精度建模poser制作的首选。可搭配雕刻版使用&#xff0c;主要为烘焙高细节的铁图建模。因为是高精度模型&#xff0c;不适用于动画和游…

CANIOT网关CAN透传功能的具体介绍

来可电子的CANIOT透传网关具有CAN数据透传功能&#xff0c;接下来介绍一下具体的操作步骤和如何在电脑上显示接收的数据。 首先我们给网关通电&#xff0c;并将网关的CAN口连接到我们的CAN设备上&#xff0c;这里我们使用来可电子的USBCAN卡来模拟CAN设备发送数据&#xff0c;…

【原创教程】工控人升维必看:激光传感器的应用案例

在自动化控制中,有很多传感器,今天我们看一款激光传感器,工作原理是由激光发射二极管对准目标发射激光脉冲,经目标反射后激光向各方向散射,部分散射光回到传感器接收器,被光学系统接受后成像到光电二极管上。 本系统我们采用的西门子SMART200系列,用的是6ES7288-0AA0模…

Axure重要元件三——中继器函数

亲爱的小伙伴&#xff0c;在您浏览之前&#xff0c;烦请关注一下&#xff0c;在此深表感谢&#xff01; 课程主题&#xff1a;中继器函数 主要内容&#xff1a;Item、Reperter、TargetItem 1、中继器的函数&#xff1a;Item\Reperter\TargetItem Item item&#xff1a;获取…

网络通信与并发编程(二)基于tcp的套接字、基于udp的套接字、粘包现象

基于tcp的套接字 文章目录 基于tcp的套接字一、套接字的工作流程二、基于tcp的套接字通信三、基于udp的套接字通信四、粘包现象 一、套接字的工作流程 Socket是应用层与TCP/IP协议族通信的中间软件抽象层&#xff0c;它是一组接口。在设计模式中&#xff0c;Socket其实就是一个…

网络原理 - HTTP/HTTPS

文章目录 HTTP抓包工具浏览器内置了抓包工具WiresharkFiddler使用 HTTP 协议格式请求响应 HTTP 请求 (Request)URL 基本格式URL encode认识 "方法" (method)GET 方法POST 方法经典面试题: 谈谈 GET 和 POST 的区别其他方法 认识请求 "报头" (header) HTTP …

Go Wails 学习笔记:创建第一个项目

文章目录 1. 安装 Wails2. 创建 Wails 项目3. 项目结构4. 运行项目5. 构建项目6. 部署和发布总结 Wails 是一个用于构建跨平台桌面应用程序的框架&#xff0c;允许开发者使用前端技术&#xff08;如 HTML、CSS、JavaScript&#xff09;以及 Go 语言来开发桌面应用。本文基于官方…

Maven运行时分析多余依赖问题

下载 loosejar 库 https://github.com/kyrill007/loosejar/releases 官方文档 以 IntelliJ IDEA 开发工具为例 1. 使用IDE 打开项目工程 2. Edit Configurations ... 如图&#xff1a; 增加 javaagent 配置 如图&#xff1a; -javaagent:${保存路径}/loosejar-1.1.0.jar …