目录
L1-002 打印沙漏:
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
int N;
char x;
int count = 0;
int i=0, j=0, k=0;
cin >> N>>x;
if (N <= 0)
{
return 0;
}
int n = sqrt((N + 1) / 2);
for (i=n; i >=1; i--)
{
for (j = 1; j <=n-i; j++)
{
cout << " ";
}
for ( k = 1; k <= 2 * i-1; k++)
{
cout << x;
count++;
}
cout << endl;
}
int j1 = j;
for (i=1; i <n ; i++)
{
for (j=j1-i-1; j >=1; j--)
{
cout << " ";
}
for (k=1; k <=2*i+1; k++)
{
cout << x ;
count++;
}
cout << endl;
}
cout<<N-count << endl;
return 0;
}
感觉自己写的有问题,下面是网上找的一个思路和我很像,但代码比我规范的例子:
#include<iostream>
using namespace std;
int main()
{
int n;
char c;
cin >> n >> c;
int m = sqrt((n + 1) / 2); //沙漏单边的层数
//打印沙漏的上部分
int count = 0; //用来记录沙粒的个数
for (int i = 0; i < m; i++)
{
for (int j = 0; j < i; j++)
{
cout << " ";
}
for (int j = 2 * (m - i) - 1; j > 0; j--)
{
cout << c;
count++;
}
cout << endl;
}
//打印沙漏的下部分
for (int i = 1; i < m; i++)
{
for (int j = 0; j < m - i - 1; j++)
{
cout << " ";
}
for (int j = 0; j < 2 * i + 1; j++)
{
cout << c;
count++;
}
cout << endl;
}
cout << n - count << endl;
return 0;
}
L1-003 个位数统计:
#include<iostream>
#include<string.h>
#include<math.h>
using namespace std;
int main()
{
int num0=0, num1=0, num2=0, num3=0,
num4=0, num5=0, num6=0, num7=0,
num8=0, num9=0;
string A;
cin >> A;
for (int i = 0; i < A.length(); i++)
{
switch (A[i])
{
case '0':
num0++;
break;
case '1':
num1++;
break;
case '2':
num2++;
break;
case '3':
num3++;
break;
case '4':
num4++;
break;
case '5':
num5++;
break;
case '6':
num6++;
break;
case '7':
num7++;
break;
case '8':
num8++;
break;
case '9':
num9++;
break;
}
}
if (num0 > 0)
{
cout << "0:" << num0 << endl;
}
if (num1 > 0)
{
cout << "1:" << num1 << endl;
}
if (num2 > 0)
{
cout << "2:" << num2 << endl;
}
if (num3 > 0)
{
cout << "3:" << num3 << endl;
}
if (num4 > 0)
{
cout << "4:" << num4 << endl;
}
if (num5 > 0)
{
cout << "5:" << num5 << endl;
}
if (num6 > 0)
{
cout << "6:" << num6 << endl;
}
if (num7 > 0)
{
cout << "7:" << num7 << endl;
}
if (num8 > 0)
{
cout << "8:" << num8 << endl;
}
if (num9 > 0)
{
cout << "9:" << num9 << endl;
}
return 0;
}
L1-004 计算摄氏温度 :
#include<iostream>
#include<string.h>
#include<math.h>
using namespace std;
int main()
{
int C, F;
cin >> F;
C = 5 * (F - 32) / 9;
cout << "Celsius = " << C;
return 0;
}
L1-005 考试座位号:
#include <iostream>
#include <cstdio>
using namespace std;
struct student
{
char id[17];
int one;//试机号
int two;//座位号
} s[1010];
int main()
{
int n;
cin>>n;
for(int i=0; i<n; i++)
{
cin>>s[i].id>>s[i].one>>s[i].two;
}
int m,x;
cin>>m;
for(int i=0; i<m; i++)
{
cin>>x;
for(int j=0; j<n; j++)
{
if(x==s[j].one)
{
cout<<s[j].id<<' '<<s[j].two;
}
}
cout<<endl;
}
return 0;
}