強迫自己學習C艹的第一天
強迫自己學C艹的第一天
前言
作為一名大學生,平平庸庸的踏入了程式設計不歸路,目前仍然是處於小白的水平,只有一些C++的基礎知識,程式設計還是很費勁兒,為了強迫自己提升水平,所以有了這個系列的,不喜勿噴!也希望能帶動一些小白跟我一起學習進步提升,或者有大佬來帶我做專案!
堅持每天打卡學習
入門級試煉
人總要經歷一些事兒才會成長,我意識到我不能在坐以待斃了,但是繁重的書,自己沒有恆信毅力去看下去,找了許多視訊課,也無法認真學進去,為了逼迫自己,我決定寫部落格,來幫自己鞏固知識,如果能幫到一些跟我一樣處於菜鳥級別的人物。我會先從入門級別的試題開始,大佬直接繞過,有一些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++的第一天 結束了,各位一定要努力嘗試自己寫!不能退縮噢