1:與指定數字相同的數的個數
#include <iostream>
using namespace std;
#define MAX_NUM 100
int main()
{
int N, n[MAX_NUM]={0}, m, cnt=0;
cin >> N;
for (int i=0;i<N;i++)
cin >> n[i];
cin >> m;
for (int i=0;i<N;i++)
if(n[i]==m)
cnt++;
cout << cnt << endl;
return 0;
}
2:陶陶摘蘋果
#include <iostream>
using namespace std;
#define NUM 10
#define SEAT 30
int main()
{
int apple[NUM]={0}, tao=0, cnt=0;
for (int i=0;i<NUM;i++)
cin >> apple[i];
cin >> tao;
for (int i=0;i<NUM;i++)
if(apple[i]<=tao+SEAT)
cnt++;
cout << cnt << endl;
return 0;
}
3:年齡與疾病
#include <iostream>
#include <iomanip>
using namespace std;
#define GROUP 4
int main()
{
int n, a, age[GROUP]={0}, age_sum=0;
cin >> n;
for (int i=0;i<n;i++)
{
cin >> a;
if (0 <= a && a <= 18)
age[0]++;
else if (19 <= a && a <= 35)
age[1]++;
else if (36 <= a && a <= 60)
age[2]++;
else
age[3]++;
}
age_sum = age[0]+age[1]+age[2]+age[3];
cout << fixed << showpoint << setprecision(2);
for (int i=0;i<GROUP;i++)
{
if(age_sum>0)
cout << 100.0*age[i]/age_sum << "%" << endl;
else
cout << "0.00%" << endl;
}
return 0;
}
4:校門外的樹
#include <iostream>
using namespace std;
#define NUM 10000
int main()
{
int L, M, r[NUM]={0}, begin, end, cnt=0;
cin >> L >> M;
for (int i=0;i<=L;i++)
r[i]=1;
for (int i=0;i<M;i++)
{
cin >> begin >> end;
for (int j=begin;j<=end;j++)
r[j]=0;
}
for (int i=0;i<=L;i++)
if(r[i]==1)
cnt++;
cout << cnt << endl;
return 0;
}
5:計算鞍點
#include <iostream>
using namespace std;
#define NUM 5
int main()
{
int m[NUM][NUM]={0}, t, maxj[NUM]={0}, mini, found=0;
for (int i=0;i<NUM;i++)
{
for (int j=0;j<NUM;j++)
{
cin >> m[i][j];
if (j==0||m[i][j]>t)
{
t=m[i][j];
maxj[i]=j;
}
}
}
for (int j=0;j<NUM;j++)
{
for (int i=0;i<NUM;i++)
{
if(i==0||m[i][j]<t)
{
t=m[i][j];
mini=i;
}
}
if (maxj[mini]==j)
{
found++;
cout << mini+1 << " " << j+1 << " " << m[mini][j] << endl;
}
}
if (found==0)
cout << "not found" << endl;
return 0;
}
6:圖像模糊處理
#include <iostream>
using namespace std;
#define NUM 100
int main()
{
int n, m, x[NUM][NUM];
cin >> n >> m;
for (int i=0;i<n;i++)
for (int j=0;j<m;j++)
cin >> x[i][j];
for (int i=0;i<n;i++)
{
for (int j=0;j<m;j++)
{
if (j!=0)
cout << " ";
if (i==0||j==0||i==n-1||j==m-1)
{
cout << x[i][j];
}
else
{
int s = x[i][j]+x[i-1][j]+x[i+1][j]+x[i][j-1]+x[i][j+1];
int t = s/5;
if (s%5<=2)
cout << t;
else
cout << t+1;
}
}
cout << endl;
}
return 0;
}
7:矩陣轉置
#include <iostream>
using namespace std;
#define NUM 100
int main()
{
int n, m, x[NUM][NUM];
cin >> n >> m;
for (int i=0;i<n;i++)
for (int j=0;j<m;j++)
cin >> x[i][j];
for (int j=0;j<m;j++)
{
for (int i=0;i<n;i++)
{
if (i!=0)
cout << " ";
cout << x[i][j];
}
cout << endl;
}
return 0;
}
-eof-