wordpress要不要放網(wǎng)站地圖seo是什么東西
引言:
這篇文章呢,小編將會舉一些簡單的編程題用來幫助大家理解一下Java代碼,并且與C語言做個對比,不過這篇文章所出現(xiàn)的題目小編不會向隨緣解題系列里面那樣詳細的講解每一到題,本篇文章的主要目的是幫助小編和讀者們熟悉Java代碼。后續(xù)小編將會開始更新java模塊的知識體系!!!
一、題目一
編寫程序數(shù)一下1到 100 的所有整數(shù)中出現(xiàn)多少個數(shù)字9
1-?題目分析
首先,1~100之間要想出現(xiàn)9,只有可能出現(xiàn)在個位或者十位上,比如說19,這里9就出現(xiàn)在個位上,又比如說91,這里9就出現(xiàn)在十位上,因此我們想要得到1~100以內(nèi)9的個數(shù),只需要將該數(shù)num/10這樣就可以得到十位上的數(shù)字,num%10這樣就可以得到個位上的數(shù)字
2- C語言代碼編寫:
#include <stdio.h>
int main()
{int count = 0;//計數(shù)器用來存放9的個數(shù)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代碼編寫:
public class Test {public static void main(String[] args) {int count = 0; //存放9的個數(shù)for (int i = 1; i <= 100 ; i++) {if(i/10 == 9)count++;if(i%10 == 9)count++;}System.out.println(count);}
}
4- 結(jié)果演示:
?
二、題目二
輸出 1000 - 2000 之間所有的閏年
1- 題目分析
關(guān)于閏年相比大家都已經(jīng)很熟悉了,簡單說一下判斷是不是閏年有兩種方法;
- 能被4整除但不能被100整除
- 能被400整除的數(shù)
通過循環(huán)獲得1000~2000的數(shù)。
2- C語言代碼編寫:
#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代碼編寫:
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- 結(jié)果演示:
?三、題目三
計算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值 。
1- 題目分析
本題分子都是1,且分母從1~100,每個數(shù)想表示出來很簡單,因此這道題唯一需要解決的問題就是怎么表示正負,表示正負的方法有很多,這里我就使用一種來介紹一下,看代碼
2- C語言代碼編寫:
#include <stdio.h>
int main()
{double sum = 0.0;int flg = 1;//假設(shè)起始為1for (int i = 1; i <= 100; i++){sum = sum + 1.0 / i * flg;//1.0/i是為了得到的數(shù)字是小數(shù)類型,每位數(shù)都與flg相乘flg = -flg;//如果上一個flg是1,則下次循環(huán)時flg變?yōu)?1,實現(xiàn)正負交替}printf("%lf", sum);return 0;
}
3- 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- 結(jié)果演示:
?四、題目四
輸出一個整數(shù)的每一位,如:123的每一位是3,2,1
1- 題目分析:
可以通過num%10得到最低位,再通過num/10去除最低位
這里就不詳細介紹怎么得到的了,如果有不會的可以點這里查看
題目講解(2)-CSDN博客
2- C語言代碼編寫:
#include <stdio.h>
int main()
{int num = 0;scanf("%d", &num);while (num){printf("%d ", num % 10);num /= 10;}return 0;
}
3- Java代碼編寫:
java的數(shù)據(jù)輸入:
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中的數(shù)據(jù)輸入,后面介紹java的時候會講到
4- 結(jié)果演示:
五、題目五
編寫代碼模擬三次密碼輸入的場景。 最多能輸入三次密碼,密碼正確,提示“登錄成功”,密碼錯誤, 可以重新輸入,最多輸入三次。三次均錯,則提示退出程序
1- 題目分析
首先需要設(shè)置一個正確密碼,然后再創(chuàng)建一個數(shù)組用來存放你輸入的密碼,題目中說了有三次輸入機會,因此可以使用while循環(huán),循環(huán)條件可以是輸入次數(shù)不為0,這樣當(dāng)循環(huán)次數(shù)為0也就是說三次都輸錯了,退出循環(huán)。使用strmp函數(shù)來比較我們輸入的字符串與原密碼是否相等,如果相等,則提示登陸成功。
2- C語言代碼編寫:
#include <stdio.h>
#include <string.h>
int main() {char rightPIN[] = "123456"; // 設(shè)定正確密碼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代碼編寫:
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中字符串比較的方法,后續(xù)也會介紹到。?
4- 結(jié)果演示:
結(jié)語:
這篇文章沒有介紹什么知識點,主要是為了引出小編后續(xù)將要介紹的知識,不過從這篇文章也能了解一些關(guān)于java的用法,比如說java的輸入,輸出,以及字符串比較!
關(guān)于C語言的知識,小編還沒有更新完成,不過不用擔(dān)心小編更新Java就不更新C語言后面的知識了,關(guān)于C語言剩下的那點內(nèi)容,小編呢會找時間將它們?nèi)拷榻B完,能夠讓大家在我這里找到完整的C語言筆記。敬請期待!!!
我的博客即將同步至騰訊云開發(fā)者社區(qū),邀請大家一同入駐:https://cloud.tencent.com/developer/support-plan?invite_code=2wx151v8lw00c