藍橋杯寒假學習心得

每日藍橋打卡

  • 2019/01/05
  • 2019/01/06
  • 2019/01/07
  • 2019/01/08

每日寫題記錄

01/05題目 涉及知識
數列排序 排序方法,我用的是快速排序
十六進制轉八進制 進制轉換 字符 循環,運用c++ string類的相關技巧
十六進制轉十進制 應該先寫這個再寫上面這個的
閏年判斷 刷新了對閏年的認識,閏年的判斷方法,四年一閏,百年不閏,四百年再閏
字母圖形 我用的笨辦法,直接看圖,應該觀察數字關係數字差的絕對值,然後寫出對應的式子,而不是一點點拼湊
01/06題目 涉及知識
數列特徵 注意函數傳參的三種方法(地址傳遞*p、引用傳遞&p)
查找整數 沒啥難點 簡簡單單的快樂
特殊的數字 發現可以用套三個循環的這種方法代替逐個遍歷!簡單不止一點點誒!
迴文數 依然和上一題的思想一樣,發現分散式的思想真的很利於結題!!!不要拘泥於數字之中;
特殊迴文數 比迴文字要複雜一些,需要考慮最高位爲零時,最低位不能爲零的情況

基礎練習-難點記錄

//基礎練習 十六進制轉八進制 
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
    int n;
    cin>>n;
    for(int k=1;k<=n;k++)
    {
        string s1,s2;//s1爲輸入的原始的十六進制串,s2爲轉化成的二進制串
        cin>>s1;
        s2="";//初始化
        for(int i=0;i<s1.length();i++)//遍歷,字符串上加上每一位
        {
            switch(s1[i])
            {
                case '0':s2+="0000";break;
                case '1':s2+="0001";break;
                case '2':s2+="0010";break;
                case '3':s2+="0011";break;
                case '4':s2+="0100";break;
                case '5':s2+="0101";break;
                case '6':s2+="0110";break;
                case '7':s2+="0111";break;
                case '8':s2+="1000";break;
                case '9':s2+="1001";break;
                case 'A':s2+="1010";break;
                case 'B':s2+="1011";break;
                case 'C':s2+="1100";break;
                case 'D':s2+="1101";break;
                case 'E':s2+="1110";break;
                case 'F':s2+="1111";break;
                default:break;
            }
        }
        int len=s2.length();
 
        if(len%3==1)//三個二進制爲一位八進制,二進制串前面補0,確保二進制串的長度爲3的倍數
            s2="00"+s2;
        else if(len%3==2)
            s2="0"+s2;
        int flag=0;
        for(int i=0;i<=s2.length()-3;i+=3)
        {
            int num=4*(s2[i]-'0')+2*(s2[i+1]-'0')+(s2[i+2]-'0');
            if(num)
                flag=1;//忽略前導0
            if(flag)
                cout<<num;
        }
        cout<<endl;
    }
    return 0;
}

--------------------- 
作者:同學少年 
來源:CSDN 
原文:https://blog.csdn.net/sr_19930829/article/details/18677037 
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章