第一次博客做業

一.思惟導圖app

二. 語法認識函數

1.if-else3d

if(條件){
執行語句
}
else{
執行語句
}   //else與最近的if配對

遇到的問題: 條件中判斷值是否相等如x==0編成x=0;執行語句最後一條忘加「 ;」。code

解決 :作pta中if-else題到下意識寫完便檢查的程度blog

2.switch數學

switch(表達式){
     case 值1:
       //表達式的值和 值1匹配上了,執行代碼;
       break;
     case 值2:
       //表達式的值和 值2匹配上了,執行代碼;
     break;
     case 值3:
       //表達式的值和 值3匹配上了,執行代碼;
     break;
     default:
       //若表達式的值和以上的case後面的值都沒有匹配上,就執行這裏的代碼。
     break;
   }

3.forit

for (表達式1;表達式2;表達式3){                  
//表達式1對循環變量賦值,表達式2爲循環條件,表達式3爲改變循環變量的值。
//表達式能夠不寫,for(;表達式2;)=while(表達式2)

}

遇到的問題: 一開始會在表達式3後加「;」io

解決:用for時多留心,作些題來熟練for循環

4.while思維導圖

while(表達式){
循環體語句
}

5.do-while

do{
循環體語句
}
while(表達式)//會先作一次循環再判斷

6.break以及continue

for (表達式1;表達式2;表達式3){  
if(表達式){
break;
           }
}
for (表達式1;表達式2;表達式3){  
if(表達式){
continue;
           }
}

break直接跳出循環,再也不循環體中其餘語句。continue跳事後面語句進行下一輪循環

遇到的問題:作題時有時想不到用它

解決:將書上列子對比,找出使用的條件

三.PTA分數截圖

2.三、2.4做業:

第三章做業:

4.1做業:

四.PTA代碼分析


思路:題目關鍵主要在於判斷輸入的數學符號爲什麼,根據所輸進行四則運算。
當時不知用if如何判斷字符,因此用switch分支。

#include <stdio.h>
int main()
{
    int value1,value2;//定義變量
    char op;   //定義字符
    scanf("%d %c %d",&value1,&op,&value2);    //輸入變量
    switch(op){                                        //判斷字符
    case '%':printf("%d\n",value1 % value2);break; //輸出結果
    case '/':printf("%d\n",value1 / value2);break;
    case '+': printf("%d\n", value1 + value2); break;
    case '-': printf("%d\n", value1 - value2); break;
    case '*': printf("%d\n", value1 * value2); break;
    default: printf("ERROR\n"); break;
}
    return 0;
}

錯誤:覺得輸入字符跟輸入數字同樣用%d;沒在「 」裏的末尾加\n,答案錯誤。

收穫:懂得char的使用,熟練了switch-case

思路:求階乘和即算出一個階乘便相加。定義一個求階乘的函數,問題便成爲將它們加起來。
以後用for循環循環所要加次數。

#include <stdio.h>
int fact (int x) {    //定義求階乘的函數
    int i,sum1=1;
for (i=1;i<=x;i++){
    sum1=i*sum1;
}
return sum1;    //返回階乘值
}
int main()
{
    int number,sum2=0;
    scanf("%d",&number);//輸入循環的次數
    int i;
    for (i=1;i<=number;i++)
    {
        sum2=sum2+fact(i);        //將階乘相加
    }
    printf("%d",sum2);        //輸出結果
    return 0;
}

錯誤:對求階乘和無思路;函數忘記返回值,輸入循環次數時漏輸入&

收穫:懂得調用函數,熟悉函數使用

思路:首先要有一個列表讓人們選擇項目,因而用printf先輸出選項。輸入次數有限制,因而在輸入外套一個for循環,循環次數爲5.
而輸入次數大於5或輸入0時結束輸入,這即是輸入0時也跳出循環,因而用if判斷是否爲0,是便用break跳出。

#include <stdio.h>
int main()
{
    int x,i;
    double price;//定義價格
    printf("[1] apple\n[2] pear\n[3] orange\n[4] grape\n[0] exit\n");  //輸出選項
    for (i=1;i<=5;i++){     //最多輸入5次
        scanf("%d",&x);    //輸入編號
        if (x==1){
            printf("price = 3.00\n");
        }
        else if(x==2){
            price = 2.50;
            }
            else if(x==3){
            price = 4.10;
            }
            else if(x==4){
            price = 10.20;
            }
            else  if(x==0){    //輸入0時跳出循環
            break;
            }
            else price = 0.00;
    }
    printf("price = %.2f\n",price);    //輸出價格
}

錯誤:忘記輸出精確到兩位小數;不知道輸入0時如何跳出循環

收穫:熟練了break的使用,知道如何連續輸入數

相關文章
相關標籤/搜索