mulMatrix
void MatrixM(double A[][M],double B[][N]){
double res[L][N]={0};//res[L][N]={1}会导致计算结果出错;
int l,n,m;
//没有必要double sum=0;直接将计算结果+=到res[l][n]即可
for(l=0;l<L;l++){//A第一行
for(n=0;n<N;n++){//B第一列
for(m=0;m<M;m++)//第m个元素
res[l][n]+=A[l][m]*B[m][n];//sum+=A[i][k]*B[k][i];//l=0表示第1行
//容易写成res[l][m]
}
}
for(l=0;l<L;l++){
for(n=0;n<N;n++)
cout<<res[l][n]<<" ";
cout<<endl;
}
}
字符串
宏
宏定义不是C语句,不必在行末加分号。如果加了分号则会连分号一起进行替换
二分法
for(int i=low;i<middle)
if(searchKey==s[i])
return i;//错误想法 这样和遍历每个数相差无几
void binarySearch(int s[],int searchKey,int size){
int low=0,high=size-1;//将middle=(size-1)/2;写在这里会出现死循环
while(low<high){
int middle=(high+low)/2;
cout<<"middle="<<middle<<"\tlow="<<low<<"\thigh="<<high<<endl;
if(searchKey==s[middle]){
cout<<middle<<endl;
break;//确保此处也是while的一个出口
}
else if(searchKey<s[middle])
high=middle-1;//high=middle牺牲效率了
//return