1.題目連結:閏年判斷
題解:就是 if else的一個應用
代碼:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int year;
cin>>year;
if(year%400==0)
cout<<"yes";
else
if(year%100!=0&&year%4==0)
cout<<"yes";
else
cout<<"no";
return 0;
}
2.題目連結:01字串
題解:就是一個排列組合,用多重循環實作
代碼:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int i,j,k,l,n;
for(i=0; i<2; i++)
for(j=0; j<2; j++)
for(k=0; k<2; k++)
for(l=0; l<2; l++)
for(n=0; n<2; n++)
cout<<i<<j<<k<<l<<n<<endl;
return 0;
}
3.題目連結:字母圖形
題解:循環内進行一個移位的操作就可以,包含了一個絕對值函數的應用
代碼:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int m,n;
cin>>n>>m;
int i,j;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
printf("%c",65+abs(i-j));
}
printf("\n");
}
return 0;
}
4.題目連結:數列特征
題解:對數組的排序和求和操作,涉及到一個C++中具有排序功能的函數sort的使用
知識點普及:
sort-排序函數
頭檔案:
#include
using namespace std;
原理:類似快排,時間複雜度為nlog2(n)
參數:
(1)起始位址
(2)結束位址
(3)排序要求(可不寫,預設從小到大)
eg1:2參數
int a[20];
sort(a,a+20);
eg2:3參數
bool myfunction(int i,int j){return (i<j);}升序
bool myfunction(int i,int j){return (i>j);}降序
int a[20];
sort(a,a+8,myfunction);
代碼:
#include<bits/stdc++.h>
using namespace std;
const int maxn=10000;
int main(void)
{
int n,max,min,sum=0;
int a[maxn];
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i];
sum+=a[i];
}
sort(a,a+n);
cout<<a[n-1]<<endl<<a[0]<<endl;
cout<<sum<<endl;
return 0;
}
5.題目連結:查找整數
題解:對數組元素的查找,值得一提的是使用flag标注不同情況以便後續不同的處理
代碼:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,m,a[1010],flag=0;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
cin>>m;
for(int i=0;i<n;i++)
{
if(a[i]==m)
{
cout<<i+1;
flag=1;
break;
}
}
if(!flag)
cout<<-1;
return 0;
}