暑假学习打卡【2】——北理工乐学第一周第二周作业
1. 簡單的 printf 和 scanf
??? printf函數和scanf函數是C語言中最常用的函數之一,下面讓我們練習一下吧。
輸入:
??? 整型變量x的值。
輸出:
??? 輸出整型變量x對應的十進制、八進制和十六進制形式。
如果是第一次接觸C語言,或多或少會被這些看起來很繁瑣的表達嚇著……
我的建議就是前期多打這種簡單的代碼,熟悉一下這種語言的風格所在,過個一兩周就輕松駕馭了。
這里有幾個注意的要點:
①、在scanf中(也就是你鍵盤哐當哐當輸入的語句),“……”里面你寫進去了啥,大部分情況下就要鍵盤打進去啥,但比如上面的%d這種,屬于格式符的知識點(詳情請翻刻本嗷),這種就是例外啦~,此外像? \n??這種也是特殊的存在(轉義字符),也是要單獨記住滴
②、在scanf中,如果你輸入的是一個int類型的,記得在加一個&表示取地址。啥?你問我這是啥意思,記住就完事了,后面自然會學到~
------------------------------------------------這里是無情的切割線------------------------------------------------------
2. 【入門】Welcome to Beijing.
讓我們來練習如何顯示多行文字。
輸入:無
輸出:就是下面的那段文字。
首先是繁瑣點的版本:
#include <stdio.h> int main() {printf("Welcome\n");printf("to\n");printf("Beijing.\n");return 0; }當然了,上面那種占了三行,看起來不爽的話你也可以壓縮成一句:?
#include <stdio.h> main() { printf("Welcome\nto\nBeijing.\n"); return 0; }------------------------------------------------這里是無情的切割線------------------------------------------------------
3.【入門】求A+B
我們已經學了如何使用 scanf 函數中輸入整型數據(%d),下面讓我們使用 scanf 函數來輸入兩個整數,然后求它們的和。
輸入:
??? 整數1? 整數2
輸出:
??? 整數1+整數2=和
你也可以不引入c這個變量,直接:
#include <stdio.h> int main() { int a,b;scanf("%d%d",&a,&b); printf("%d+%d=%d\n",a,b,a+b); return 0; }------------------------------------------------這里是無情的切割線------------------------------------------------------
4.【入門】求整數的 3次方
輸入一個整數 x,輸出 x 的3次方。想一想,在C語言中如何用公式來表達 x 的 3次方?
輸入:一個整數。
輸出:該整數的 3 次方值。
#include <stdio.h> int main() { int a; scanf("%d",&a); printf("%d\n",a*a*a); return 0; }上面那種是比較簡單暴力的算法了,但是后面我想想,加入不是3次方,而是30次方的話,那豈不是得要a*a*a*……,那不得看起來特別的冗長,所以下面我們可以引入一個新的函數,叫做:
pow(a,b),它表示的是a的b次方。
#include <stdio.h> #include <math.h> int main() {int a=0,b=0;scanf("%d %d",&a,&b);int c=pow(a,b);printf("%d\n",c);return 0; }------------------------------------------------這里是無情的切割線------------------------------------------------------
5.【入門】整數比大小
小明上了小學一年級,老師開始教他認識兩個數哪個大,哪個小。計算機要學會這個可以使用 if 語句,也可以使用三目運算 ? 。
輸入:兩個整型數
輸出:兩個整型值中的最小值
第一種是用三目運算:
三目運算也就是三個變量進行運算的操作
首先是進行判斷x>y,然后是的就選擇x,不是就選擇y
例子:z=x>y? x:y
z=是賦值操作;x>y是一個判斷;x和y是兩個常數。
#include <stdio.h> int main() { int x,y; scanf("%d%d",&x,&y); printf("min=%d\n",(x<y)?x:y); }第二種是用if語句:
#include <stdio.h> #include <math.h> int main() {int a=0,b=0;scanf("%d %d",&a,&b);if(a>b)printf("min=%d\n",b);elseprintf("min=%d\n",a);return 0; }------------------------------------------------這里是無情的切割線------------------------------------------------------
6.【入門】輸出字符的 ASCII 碼
背景:
我們在計算機基礎中已經學過:字母在計算機中采用ASCII碼進行存儲。下面要從鍵盤上輸入任意一個字符,然后輸出該字符對應的ASCII碼。
輸入:
??? 一個字符
輸出:
??? 該字符對應的ASCII碼
#include <stdio.h> int main() { char x; scanf("%c",&x); printf("The ASCII of character '%c' is %d.\n",x,x); return 0; }注意該題中咱們定義的是char類型的x,那么如果在輸出的時候我們給它塞一個%d類型時候,它會輸出對應的ASCII碼。
------------------------------------------------這里是無情的切割線------------------------------------------------------
7.【中學】計算圓柱的側面積及體積
該如何處理 double 型的數據:如何定義變量類型?如何使用 scanf 函數?
如果已知圓柱的底面半徑 r ,以及高 h ,則可計算出圓柱的側面積 s=2 π r h ,體積 v=π r?2?h 。其中 π=3.1415926。
輸入:
第一行輸入圓柱的底面半徑 r
第二行輸入圓柱的高 h
輸出:
s=< 圓柱的側面積 >,v=< 圓柱的體積 >
要求
1. 所有變量都定義為雙精度類型
2. 結果精確到小數點后兩位
需要注意的是題目要求的是雙精度,并且保留兩位小數,因此在輸入時選用double類型,并且輸出的時候記得是.2f。
------------------------------------------------這里是無情的切割線------------------------------------------------------
8.【小學】一年級的算術題
背景:
??????小明上小學一年級了,老師已經教會了他們整數的 +、-、*、/、% 計算,下面老師開始出題,請小明給出計算結果。
輸入:
??? 兩個整數,每個整數之間使用空格分隔。例如輸入格式為:123? 444
輸出:
??? 分別輸出按照整型數據進行 +、-、*、/、* 之后的運行結果。
------------------------------------------------這里是無情的切割線------------------------------------------------------
9.【中學】判斷三角形的形狀
小明上了初中,開始學習如何求解一元二次方程。
要求:
輸入三角型的三條邊,判斷三角形的形狀。假設輸入的三邊邊長均>0。
(提示:本題中應該要用到 if 語句嵌套)
輸入:
三角型的3條邊的長度(int型)。
輸出:
等邊三角形:equilateral triangle.
等腰三角形:isoceles triangle.
不構成三角形:non-triangle.
一般三角形:triangle.
------------------------------------------------這里是無情的切割線------------------------------------------------------
以上就是北理樂學第一周和第二周的作業,打卡~
總結
以上是生活随笔為你收集整理的暑假学习打卡【2】——北理工乐学第一周第二周作业的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 进制转化(北理乐学编程题目)
- 下一篇: 垂直定理的判定