#P.S.
以下内容纯自己复习时手打的,方法不一定为最简,题目个人理解的也不一定准确,只是单纯希望能够帮助到要上机考试的小伙伴,欢迎指出问题,大家共同进步~
(代码注释保留了当时的错误原因,经验想法与激动的心情,N个!这种忽略就好------
(感谢志协学长学姐提供的题目)
1.输出平方
2.输出十个正整数中的最小合数
3.从小到大输出一个五位数中各个数字
4.输入两个含五个元素的数组,并将他们和它们的合数组倒序输出。每个数字之间有一个空格,行末无空格。
5.雇员类
//一
//1.输出平方
void main() {
int n;
cin >> n;
cout << n * n;
}
//2.输出十个正整数中的最小合数
#include<cmath>
int judge(int m) {
bool ju = false;
for (int n = 2; n <= sqrt(m) + 1; n++) {
if ((m % n == 0)&& m!=2 && m!=1) {
ju = true;
break;
}
}
return ju;
}
int main() {
int a[10];
for (int k = 0; k < 10; k++)
cin >> a[k];
for (int pass = 1; pass < 10; pass++)
{
for (int i = 0; i < 10 - pass; i++) {
int tem;
if (a[i] > a[i + 1])
{
tem = a[i];
a[i] = a[i + 1];
a[i + 1] = tem;
}
}
}
for (int k = 0; k < 10; k++)
{
if (judge(a[k]))
{
cout << a[k];
break;
}
}
}
//3.从小到大输出一个五位数中各个数字
int main() {
char a[6];//注意就一个的话用char 就可,不要复杂化了。5-6!
cin >> a;
for (int pass = 1; pass< 5; pass++)//注意最后一位是'\0'
{
for (int i = 0; i < 5 - pass; i++) {
int tem;
if (a[i] > a[i + 1])
{
tem = a[i];
a[i] = a[i + 1];
a[i + 1] = tem;
}
}
}
cout << a;
return 0;
}
//4.输入两个含五个元素的数组,并将他们和它们的合数组倒序输出。每个数字之间有一个空格,行末无空格。
#include<cmath>
int judge(int m) {
bool ju = false;
for (int n = 2; n <= sqrt(m) + 1; n++) {
if ((m % n == 0)&&m!=1&&m!=2)
{
ju = true;
break;
}
}
return ju;
}
int main() {
int array[5] = { 0 };
int newarray[5] = { 0 };
for (int i = 0; i < 5; i++)
{
cin >> array[i];
newarray[4-i] = array[i];//数组千万别溢出!
}
for (int k = 0; k < 5; k++) {
if (judge(newarray[k])) {
if (k != 4)
cout << newarray[k] << " ";
else
cout << newarray[k];
}
}
}
1.计算400到500间非13倍数的数之和
2.求两个数的最大公约数
3.求十个数中的最大值,最小值,平均值
4.构建一个结构变量,求该日是该年的第几天
5.商店类,私有(三种家电),公有(一个构造函数,一个算当天营业额的函数),输入每种家电卖出数量,输出当天营业额
//二
//1.计算400到500间非13倍数的数之和
int main() {
int m, num=0;
for (m = 400;m <= 500; m++)
{
if (m % 13 != 0)
num += m;
}
cout << num;
}
//2.求两个数的最大公约数
int main() {
int m, n;
int t;
cin >> m >> n;
for (int h = n; h > 0; h--)
{
if (m % h == 0 && n % h == 0)
t = h;
break;
}
cout << t;
}
//3.求十个数中的最大值,最小值,平均值
int main()
{
int a[10];
for (int i = 0; i < 10; i++)
cin >> a[i];
int tem1 = a[0];
for (int i = 0; i < 10; i++)
{
if (a[i] > tem1)
{
tem1 = a[i];
}
}
int tem2 = a[0];
for (int i = 0; i<10; i++)
{
if (a[i] <tem2)
{
tem2 = a[i];
}
}
cout << "max=" << tem1<< "min=" <<tem2 << endl;
int sum = 0;
for (int i = 0; i < 10; i++)
sum += a[i];
cout << sum / 10;
}
//4.构建一个结构变量,求该日是该年的第几天
// 没整出来版本
// struct date
// {
// int year;
// int month;
// int day;
// };
//
// int main() {
// int number=0;
// date today;
// cin >> today.year >> today.month >> today.day;
// if (today.year % 400 == 0 || (today.year % 4 == 0 && today.year % 100 != 0))
// {
// if
// number =
// }
//
//}
//不用结构的成功版本
int main()
{
int y, m, d, sum = 0;
int M[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };//0月是0天,妙!
cin >> y >> m >> d;
for (int i = 1; i < m; i++)
sum += M[i];
sum += d;
cout << y << "年" << m << "月" << d << "日是本年中的第";
if (m < 3)//1,2月直接不考虑闰年,妙!
{
cout << sum;
}
else
{
if (0 == y % 400)
cout << sum + 1;
else if (0 == y % 100)
cout << sum;
else if (0 == y % 4)
cout << sum + 1;
else
cout << sum;
}
cout << "天。" << endl;
return 0;
}
1.输出平方
2.输出数组最大质数
3.定义正三角形类输出周长
4.数组排序插入再排序
5.将字符串的小写字母转化为大写
//输出数组最大质数
int judge(int number)
{
bool tf = true;
for (int a = 2; a <= sqrt(number)+1; a++)
{
if ((number % a == 0)||number==1)
{
if (number != 2)
{
tf = false;
break;
}
}
}
return tf;
}
int main() {
int array[10] = { 0 };
for (int i = 0; i < 10; i++)
cin >> array[i];
int tem;
for (int pass = 1; pass < 10; pass++)
{
for (int i = 0; i < 10 - pass; i++)
{
if (array[i] < array[i + 1])
{
tem = array[i];
array[i] = array[i + 1];
array[i + 1] = tem;
}
}
}
for (int i = 0; i < 10; i++)
{
if (judge(array[i]))
{
cout<<array[i];
break;
}
}
}
//数组排序,倒序,插入再排序
int main() {
int array[10];
for (int i = 0; i < 10; i++)
{
cin >> array[i];
}
int tem;
for (int pass = 1; pass < 10; pass++)
{
for (int i = 0; i < 10 - pass; i++)
{
if (array[i] < array[i + 1])
{
tem = array[i];
array[i] = array[i + 1];
array[i + 1] = tem;
}
}
}
for (int i = 0; i < 10; i++)
cout << array[i] << " ";
cout << endl;
int array2[10];
for (int i = 0; i < 10; i++)
{
array2[i] = array[9 - i];//千万注意!!!!是9-i才不会溢出!
}
for (int i = 0; i < 10; i++)
cout << array2[i] << " ";
cout << endl;
int array3[11] = { 0 };
int m;
cin >> m;
for (int i = 0; i < 10; i++)
array3[i] = array2[i];
for (int i = 0; i < 9; i++)
{
if (m <=array2[i])
{
array3[i] = m;
for (int q = i; q < 10; q++)//注意!是这之后每个都加,所以要用循环!
{
array3[q + 1] = array2[q];
}
break;
}
}
for (int i = 0; i < 11; i++)
cout << array3[i] << " ";
}
//另一种不用新数组方法--定义多个内存但cin就cin需要数量
int main() {
int a[12];//定义用于存储数字的数组
int n;//输入的新的数字
int i = 0, j = 0, k = 0;//排序用到的变量
cout << "please input ten integers:" << endl;
for (i = 1; i <= 10; i++) {
cin >> a[i];
} //输入数据
for (i = 1; i < 10; i++) {
k = i;
for (j = i + 1; j <= 10; j++) {
if (a[j] < a[k]) {
k = j;
}
}
a[0] = a[i];
a[i] = a[k];
a[k] = a[0];
}
cout << "sorting order:" << endl;
for (i = 1; i <= 10; i++) {
cout << a[i] << " ";
} //输出数据
cout << endl;
cout << "please input a new one:";
cin >> n;
for (i = 1; i <= 10; i++) {
if (a[i] > n) {
k = n;
for (j = 10; j >= i; j--) {
a[j + 1] = a[j];
}
a[i] = n;
break;
}
}
cout << "new sorting order:" << endl;
for (i = 1; i <= 11; i++) {
cout << a[i] << " ";
} //输出数据
cout << endl;
return 0;
}
//将字符串的小写字母转化为大写
int main() {
char a[200] = { 0 };
cin >> a;
for (int i = 0; i < 200; i++)
{
if (a[i] >= 'a' && a[i] <= 'z')//这行超级重要!!!!!!!!!!!天啊,没这行乱码!
{
a[i] = a[i] - 32;//小写转大写
}
}
cout << a;
}
1.小写字母转换成大写字母
2.一行随机文字中数字之和(注:a13b4为1+3+4)
3.100到N(500 4.斐波那契数列 5.学生类 1.立方和 2.距离最长的点,输出坐标 3.输入数组,并输出最小值及坐标,次小值及坐标 4.递归函数 5.学生类 (一些重复的和没看懂题的就跳过了,跳过了所有类的题目,后面会有一个汇总,不过上机那天才知道类的题目是填空题)//一行随机文字中数字之和(注:a13b4为1+3+4)
int main() {
char a[100] = { 0 };
cin >> a;
int sum = 0;
for (int i = 0; i < 100; i++)
{
if (a[i] >= '0' && a[i] <= '9')
sum +=(a[i]-48);//0的ASCALL为48,A 65,a 97
}
cout << sum;
}
//100到N(500
题组五
//递归函数
//一共五个同学,已知第一位同学的年龄是10岁,第二位同学的年龄比第一位大2岁,第三位同学的年龄比第二位大2岁……
//第五位同学的年龄比第四位同学大2岁;利用键盘输出同学的编号,查询这位同学的年龄;
int main() {
int a = 10, x;
cin >> x;
if (x == 1)
cout << a;
else
a = a + 2 * (x - 1);
cout << a;
}
//距离最长的点,输出坐标,距离
#include<cmath>
int main()
{
int a, b, x, y, p, q;
cin >> a >> b >> x >> y >> p >> q;
if (((a - x) * (a - x) + (b - y) * (b - y)) > ((a - p) * (a - p) + (b - q) * (b - q)))
{
cout << "(" << x << "," << y << ")";
cout << sqrt((a - x) * (a - x) + (b - y) * (b - y));
}
else
{
cout << "(" << p << "," << q << ")";
cout << sqrt((a - p) * (a - p) + (b - q) * (b - q));
}
return 0;
}
//立方和
#include<cmath>
int main()
{
int x, y;
cin >> x >> y;
cout << pow(x, 3) + pow(y, 3) << endl;
}
上机前
上机时
莫慌莫慌上机加油~