1. 程式人生 > 其它 >強迫自己學習C艹的第一天

強迫自己學習C艹的第一天

技術標籤:c++程式語言

強迫自己學C艹的第一天

前言

作為一名大學生,平平庸庸的踏入了程式設計不歸路,目前仍然是處於小白的水平,只有一些C++的基礎知識,程式設計還是很費勁兒,為了強迫自己提升水平,所以有了這個系列的,不喜勿噴!也希望能帶動一些小白跟我一起學習進步提升,或者有大佬來帶我做專案!
堅持每天打卡學習 
Alt

入門級試煉

人總要經歷一些事兒才會成長,我意識到我不能在坐以待斃了,但是繁重的書,自己沒有恆信毅力去看下去,找了許多視訊課,也無法認真學進去,為了逼迫自己,我決定寫部落格,來幫自己鞏固知識,如果能幫到一些跟我一樣處於菜鳥級別的人物。我會先從入門級別的試題開始,大佬直接繞過,有一些c++或者小白可以繼續觀看!(入門級的試題訓練,挺簡單的,希望各位能夠先思考,然後再看程式碼,這樣提升會更快)

試題1:A+B=?

輸入兩個自然數,輸出他們的和
先對比一下c語言和c++ 的輸入與輸出
1 、c 語言

#include <stdio.h>
int main()
{
    int a,b;
    scanf("%d %d",&a,&b);
    printf("%d",a+b);
    return 0;
}

2、c++

#include <iostream>
using namespace std;
int main()
{
    int a,b;
    cin>>a>>
b; cout<<a+b<<endl; return 0; }

顯而易見 ,c++的輸入為 cin>> ____; 然後如果要連續輸入倆個值就是例題中的那樣了, 輸出為cout<<a+b<<endl;(注意對比記憶輸入與輸出,這個 endl 就是換行的意思 ),剛開始也許你老記混,沒關係,多用幾次就會了,會有感覺的

試題2 :摘蘋果

陶陶家的院子裡有一棵蘋果樹,每到秋天樹上就會結出10個蘋果。蘋果成熟的時候,陶陶就會跑去摘蘋果。陶陶有個30釐米高的板凳,當她不能直接用手摘到蘋果的時候,就會踩到板凳上再試試。

現在已知10個蘋果到地面的高度,以及陶陶把手伸直的時候能夠達到的最大高度,請幫陶陶算一下她能夠摘到的蘋果的數目。假設她碰到蘋果,蘋果就會掉下來。

輸入格式:

輸入包括兩行資料。第一行包含10個100到200之間(包括100和200)的整數(以釐米為單位)分別表示10個蘋果到地面的高度,兩個相鄰的整數之間用一個空格隔開。第二行只包括一個100到120之間(包含100和120)的整數(以釐米為單位),表示陶陶把手伸直的時候能夠達到的最大高度。
輸出格式:

輸出包括一行,這一行只包含一個整數,表示陶陶能夠摘到的蘋果的數目。

好了 ,你得開始思考了,先自己試一下吧 ,入門小白一定要動手,不能大意!
上程式碼 :

#include <bits/stdc++.h>  

using namespace std;

int main()

{	

	int a[11],tall,count=0;

	for(int i=1;i<=10;i++)cin>>a[i];// 輸入每個蘋果距離地面的距離

	cin>>tall; //輸入陶陶伸手能夠到的最大距離

	for(int i=1;i<=10;i++) if(tall+30>=a[i])count++;

	cout<<count;

	return 0;

}

試題3:不高興的津津

津津上初中了。媽媽認為津津應該更加用功學習,所以津津除了上學之外,還要參加媽媽為她報名的各科複習班。另外每週媽媽還會送她去學習朗誦、舞蹈和鋼琴。但是津津如果一天上課超過八個小時就會不高興,而且,上得越久就會越不高興。假設津津不會因為其它事不高興,並且她的不高興不會持續到第二天。請你幫忙檢查一下津津下週的日程安排,看看下週她會不會不高興;如果會的話,哪天最不高興。

輸入格式:

輸入包括七行資料,分別表示週一到週日的日程安排。每行包括兩個小於10的非負整數,用空格隔開,分別表示津津在學校上課的時間和媽媽安排她上課的時間。
輸出格式:

輸出包括一行,這一行只包含一個數字。如果不會不高興則輸出0,如果會則輸出最不高興的是周幾(用1,2,3,4,5,6,7分別表示週一,週二,週三,週四,週五,週六,週日)。如果有兩天或兩天以上不高興的程度相當,則輸出時間最靠前的—天。

雖然題目廢話多,但是我們需要養成一個好習慣,畢竟你以後面對的題目可比這枯燥乏味多了,開始思考!

#include<iostream>//宣告型別

using namespace std;

int main()

{

	int happy=0,day=0;//宣告"happy"和"day"兩個變數

	int time1,time2;//宣告"time1"和"time2"兩個變數

	for(int i=1;i<=7;i++)//重複執行7次下列程式碼

	{

		cin>>time1>>time2; //將兩個數分別賦給"time1"和"time2"兩個變數

		if(time1+time2>8&&time1+time2>happy)

		{

			happy=time1+time2;

			day=i;

		}

	}

	cout<<day<<endl;//回答

	return 0;

}

試題4:數字反轉

給定一個整數,請將該數各個位上數字反轉得到一個新數。新數也應滿足整數的常見形式,即除非給定的原數為零,否則反轉後得到的新數的最高位數字不應為零(參見樣例2)。

輸入格式:

輸入共1 行,一個整數N。
輸出格式:

輸出共1 行,一個整數,表示反轉後的新數。
樣例 1 :

輸入:
290
輸出:
92
樣例 2 :

輸入:
900000000
輸出:
9

#include<iostream>

#include<cmath>

using namespace std;

int main()

{

 int number,sum,i=1,result,result1,m=0;//number是要被反轉的數,sum用於記錄位數,m記錄前面是否有非0數字輸出,若有則後續的0可輸出,若無即不能輸出,例50400,輸出405,前面兩個0不輸出

 cin >> number;

 while(fabs(number)>0)//判斷輸入數字的位數用於動態申請陣列

 { 

  result = pow(10, i);

  result1 = number % result;

  if (result1 == number)//判斷的關鍵

  {

   sum = i;

   break;

  }

  i++;

 }

 int *s = new int[sum];

 if (number < 0)

  cout << "-";

 number = fabs(number);

for(i=0;i<sum;i++)//輸出

{

 if (number % 10 == 0)//如果分離出來是0且前面沒有已輸出非零數,則不輸出

 {

  if (m > 0)

   cout << 0;

 }

 else { cout << number % 10; m = 1; }

 number = number / 10;

  }

}

這是我自己寫的,比較菜,繁重,如果你有更好的程式碼,歡迎滴滴我,一起學習進步!

結束語

入門級的試題今天就到這兒了,我們不求多,只求一天一練,我並不是什麼大佬,也是個慢慢進步的大學生,沒有程式設計祖師爺賞的天賦,學起來也是一步一個腳印,希望能和我處於同水平的人,互相監督進步!
強迫自己學習c++的第一天 結束了,各位一定要努力嘗試自己寫!不能退縮噢