習題筆記 錢能 第3章節
目錄
EX0301 //整數的二進位制位碼和F數的位碼求法不一樣,F數要先轉換,把F數的地址轉為int型的地址
EX0302// sizeof 返回位元組數 vector.size()返回裝的數 vector.capacity()返回總的大小數
EX0303 // 遍歷器遍歷和普通遍歷vector vector的賦值 計算均方差的快速方法 整型變數的優化
EX0304 //cin遇到enter space tab 終止,getline+istringstream適合一行未知的
EX0305 // 這個完全不知道怎麼寫,string可以類似陣列一樣使用
EX0306 遍歷陣列的五種方法 指標可以寫成陣列,陣列也可理解為指標,str也可以為陣列
EX0301 //整數的二進位制位碼和F數的位碼求法不一樣,F數要先轉換,把F數的地址轉為int型的地址
#include<iostream>
using namespace std;
int main()
{
float f=-1234567.0f;
int* pa =(int*)&f;
for(int i=31;i>=0;i--)
{
cout<<(*pa>>i&1)<<(i==31||i==23 ? "-":"");
}
cout<<endl;
for(int i=31;i>=0;i--)
{
cout<<(*pa>>i&1)<<(i==31||i==23 ? "-":"");
}
system("pause");
}
EX0302// sizeof 返回位元組數 vector.size()返回裝的數 vector.capacity()返回總的大小數
#include<iostream>
using namespace std;
int main()
{
int a;
long int b;
char c;
float d;
int x;
cout<<"int :"<<sizeof(a)<<" byte"<<sizeof(a)*8<<" bits"<<endl;//對sizeof有正確的認識,其返回值是什麼~開始時企圖通過指標進行求解,暫無法得到
cout<<"int :"<<&b<<"byte"<<&a<<"bits"<<endl;
cout<<"int :"<<&c<<"byte"<<&a<<"bits"<<endl;
cout<<"int :"<<&d<<"byte"<<&a<<"bits"<<endl;
system("pause");
}
EX0303 // 遍歷器遍歷和普通遍歷vector vector的賦值 計算均方差的快速方法 整型變數的優化
#include<iostream>
#include<vector>
#include<cmath>
using namespace std;
int main()
{
const int vector_size=10;
int arr1[]={6,3,7,2,9,1,4,8,11,5};
vector<int> arr2(arr1,arr1+vector_size); //1.這一步的賦值,注意是(a.b) 共計b-a個數 2.用陣列和用向量給向量賦值不同,陣列是沒有 arr1.begin() 這種東西的
float aim_num,ave,temp=0;
vector<int>::iterator it; //遍歷器的初次使用
for(it = arr2.begin();it!=arr2.end();it++) //遍歷器實現遍歷,中斷條件為什麼是這樣我不懂,就像上一個紅字一樣
temp=temp+(*it);
cout<<"和為 "<<temp<<endl; // 取到累積和
ave=temp /vector_size;
temp=0;
for(it=arr2.begin();it!=arr2.end();++it)
temp=temp+pow(((*it)-ave),2); ; //取到累計平方和
aim_num=pow(temp/vector_size,0.5); //這裡 的pow如果冪寫成1/2,取得是0次,故結果為1
cout<<aim_num<<endl;
system("pause");
}
EX0304 //cin遇到enter space tab 終止,getline+istringstream適合一行未知的
/*=========================================
EX0304
=============================================*/
#include<iostream>
#include<string>
#include<fstream>
#include<algorithm>
using namespace std;
int main()
{
int num_25=0;
ifstream tin("abc.txt");
string str;
while(getline(tin,str))
{
if(str.find(". 25")!=-1)
{
num_25+=1;if(str.find('*')!=-1) num_25+=1;
}
}
cout<<"day is "<<num_25<<endl;
system("pause");
}//使用了檔案的輸入輸出流以及sring的函式,輸入輸出及getline的使用不熟練 abc。txt檔案的儲存位置放錯耽誤了很多時間
EX0305 // 這個完全不知道怎麼寫,string可以類似陣列一樣使用
/*============================================
EX0305 加密哈哈哈哈 interesting
================================================*/
#include<iostream>
#include<string>
using namespace std;
const char key[]="4962873";
string encode(string str)
{
string result(str);
for(int i=0;i<str.length();i++)
{
result[i]=result[i]+(key[i%7]);
if (result[i]>'z') result[i]-=91;
}
return result;
}
int main()
{char ch;
string str,temp;
const int max_size=100;
cout<<"輸入:"<<endl;
getline(cin,str);
temp=encode(str);
cout<<temp<<endl;
system("pause"); // 1.string型可以像陣列一樣操作 2.encode函式七位編碼的變換
}
EX0306 遍歷陣列的五種方法 指標可以寫成陣列,陣列也可理解為指標,str也可以為陣列
/*===============================================
EX0306
=========================================*/
#include<iostream>
using namespace std;
int main()
{
int sum[5]={0};
int iArray[]={1,4,2,7,13,32,21,48,16,30};
int size =sizeof(iArray)/sizeof(*iArray);
int *iPtr=iArray;
for(int n=0;n<size;++n)
sum[3]+=iPtr[n]; //累加和
for(int n=0;n<size;++n)
sum[2]+=*(iPtr+n); //累加和
for(int n=0;n<size;++n)
sum[1]+=*iPtr++; //累加和
for(int n=0;n<size;++n)
sum[0]+=iArray[n]; //累加和
for(int n=0;n<size;++n)
sum[4]+=*(iArray+n); //
for(int i=0;i<5;++i)
cout<<sum[i]<<endl;
system("pause");
}
EX0307 指標和引用的區別
#include<iostream>
using namespace std;
void MYswap(int *a,int *b);
int main()
{
int a=16,b=48;
cout<<"a: "<<a<<",b: "<<b<<endl;
MYswap(&a,&b);
cout<<"after being swapped : \n";
cout<<"a: "<<a<<",b: "<<b<<endl;
}
void MYswap(int *a,int *b)
{
int temp=*a;
*a=*b;*b=temp;
}
相關文章
- 習題筆記 錢能 第4章節筆記
- 習題筆記 錢能 第5章節筆記
- golang 學習筆記:第 1 節:GO 語言介紹Golang筆記
- 第15.16.17章學習筆記筆記
- 第 7 節:流程控制-迴圈練習-百錢百雞
- Python第一節學習筆記Python筆記
- 第63節:Java中的Spring MVC簡介筆記JavaSpringMVC筆記
- lfs(systemv版本)學習筆記-第1頁筆記
- JVM學習筆記——節碼執行引擎JVM筆記
- 《C++ Primer中文版(第5版)》學習筆記與習題完整發布!C++筆記
- 比特幣學習筆記——————4、金鑰、地址、錢包比特幣筆記
- SSM框架學習筆記_第1章_SpringIOC概述SSM框架筆記Spring
- python學習筆記:第8天 檔案操作Python筆記
- Python學習筆記:第3天 字串的操作Python筆記字串
- 鳥哥私房菜學習筆記(第零章)筆記
- node學習筆記第八節:模組化筆記
- 第3章筆記筆記
- 演算法筆記習題3.5演算法筆記
- 演算法筆記習題3.4演算法筆記
- 演算法筆記習題3.3演算法筆記
- Oracle高階培訓 第5課 學習筆記Oracle筆記
- Oracle高階培訓 第6課 學習筆記Oracle筆記
- Oracle高階培訓 第7課 學習筆記Oracle筆記
- python學習筆記:第4天 列表和元組Python筆記
- 《深度學習入門》第 2 章 感知機 筆記深度學習筆記
- 以太坊學習筆記————10、錢包、以太幣、Gas介紹筆記
- Coursera 機器學習 第9章(上) Anomaly Detection 學習筆記機器學習筆記
- 【計算機網路·第7版-學習筆記】第02章:物理層計算機網路筆記
- 1-3節筆記筆記
- [模式識別複習筆記] 第8章 決策樹模式筆記
- <react學習筆記(7)>操作DOM節點,元件傳參React筆記元件
- 以太坊學習筆記————8、錢包匯入與賬戶管理筆記
- 【C++ Primer Plus】學習筆記--第10章 物件和類C++筆記物件
- 學習筆記【MySQL基礎操作-第一節:MySQL基本操作】筆記MySql
- Attention機制全流程詳解與細節學習筆記筆記
- 第12節 巧用Event發現問題
- 第4關-精華筆記筆記
- 【統計學習方法|筆記】第1章 統計學習方法理論筆記