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

news/2024/10/18 19:02:08 标签: c语言, 开发语言, java

引言:

这篇文章呢,小编将会举一些简单的编程题用来帮助大家理解一下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就加1
		if (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;//假设起始为1
	for (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.niftyadmin.cn/n/5711538.html

相关文章

harmonyOS next之实现时间打卡定时器

需求&#xff1a;实现一个时间打卡签到按钮。 实现方法&#xff1a;每隔一秒钟获取一下当前时间。 实现代码如下&#xff1a; Column(){Text(this.curTime).fontColor(#FFFFFF).fontWeight(600).fontSize(32vp)Text(上班打卡).fontColor(#FFFFFF) } .width(170vp) .height(170…

闲说视频清晰度和各种格式、编码技术的发展历史

文章目录 引子清晰度视频格式&#xff1a;MP4、AVI 、MKV、MOV、WMV、FLV 、RMVB等等什么是视频格式MP4AVIMKVMOVWMVFLVRM / RMVB其他 编码技术&#xff1a;MPEG-1、MPEG-2、MPEG-4、RealVideo、DivX、XviD、H.264&#xff08;AVC&#xff09;、H.265&#xff08;HEVC&#xff…

Qt菜单折叠起来问题解决

环境&#xff1a;win7系统&#xff0c;qt5.9.3 一 问题 在linux上正常运行的qt程序&#xff0c;重新编译到Windows上运行&#xff0c;发现整个菜单都折叠起来了。 二 原因分析 原因是使用QFont时&#xff0c;使用的是点阵pointSize的构造函数或者使用的是setPointSize函数。使…

【python】list(列表)的遍历

目录 数据容器入门数据容器&#xff1a;list&#xff08;列表&#xff09;list&#xff08;列表&#xff09;的遍历数据容器&#xff1a;tuple&#xff08;元组&#xff09;数据容器&#xff1a;str&#xff08;字符串&#xff09;数据容器的切片数据容器&#xff1a;set&…

浅析DNS代理的工作原理及应用

DNS代理作为计算机网络中重要的一环&#xff0c;扮演着连接用户和互联网服务的关键角色。来了解DNS代理的定义、功能、工作原理以及在网络中的应用场景和重要性吧。 一、理解DNS代理。 DNS代理充当在用户和真正的DNS服务器之间的中介。它接收来自用户端的DNS查询请求&#xf…

10.17学习

1.二进制 二进制是一种基数为2的数制&#xff0c;它只使用两个数字&#xff1a;0和1。二进制数在计算机科学和数字电路中非常常见&#xff0c;因为它们可以很容易地被电子设备处理。 ①二进制数的书写&#xff1a; 二进制数通常由一串0和1组成&#xff0c;例如&#xff1a; …

力扣力扣力:206. 反转链表

leetcode链接&#xff1a;206. 反转链表 题目描述&#xff1a; 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5]输出&#xff1a;[5,4,3,2,1] 示例 2&#xff1a; 输入&#xff1…

vs开发qt项目

VS需要安装扩展&#xff0c;两种方式一种MSVC一种CMake 这里下载太慢