每日藍橋打卡
每日寫題記錄
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;
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)
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;
if(flag)
cout<<num;
}
cout<<endl;
}
return 0;
}
---------------------
作者:同學少年
來源:CSDN
原文:https://blog.csdn.net/sr_19930829/article/details/18677037
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!