c++问题1

来源:互联网 发布:apache impala 安装 编辑:程序博客网 时间:2024/05/18 05:59

第一题:冒泡排序O使用冒泡法对5个整数从小到大排序,输出排序前后的各个元素值。O冒泡法的思路是:将相邻两个数比较,将大的调到后头。#include<iostream>#include<ctime>#include<iomanip>using namespace std;void main(){int a[5], i, t, j;srand((unsigned)time(NULL));cout << "本程序用于冒泡排序!" << endl;cout << "数组元素为:" << endl;for (i = 0; i < 5; i++){a[i] = rand() % 90 + 10;cout << setw(5) << a[i];}cout << "\n排序结果为:" << endl;for (j = 0; j < 4; j++)for (i = 0; i < 4 - j; i++)if (a[i]>a[i+1]){t = a[i];a[i] = a[i + 1];a[i + 1] = t;}for (i = 0; i < 5; i++)cout << setw(5) << a[i];}第二题:随机生成互不重复的元素#include<iostream>#include<ctime>#include<iomanip>using namespace std;void main(){int a[10], i,j;srand((unsigned)time(NULL));cout << "本程序用于随机生成互不重复的元素!" << endl;for (i = 0; i < 10; i++){a[i] = rand() % 10 ;for (j = 0; j < i; j++)if (a[j] == a[i])i--;}for (i = 0; i < 10; i++)cout << setw(5) << a[i];}第三题:爱因斯坦的数学题爱因斯坦出了一道这样的数学题:有一条长阶梯,若每步跨2阶,则最后剩一阶,若每步跨3阶,则最后剩2阶,若每步跨5阶,则最后剩4阶,若每步跨6阶则最后剩5阶。只有每次跨7阶,最后才正好一阶不剩。请问这条阶梯共有多少阶?#include<iostream>using namespace std;void main(){int n;for (n = 7;;n+=7)if (n % 2 == 1 && n % 3 == 2 && n % 5 == 4 && n % 6 == 5){cout << "台阶最小值为:" << n <<endl;break;}}第四题:借书方案知多少小明有五本新书,要借给ABC三个小朋友,若每人每次只能借一本,则可以有多少种不同的借法,分别是什么(输出每一种借书方案)?#include<iostream>using namespace std;void main(){int n = 0, a, b, c;for (a = 1; a < 6;a++)for (b = 1; b < 6; b++)for (c = 1; c < 6; c++)if (a != b && b != c && a != c){n++;cout << "第" << n << "种借法方案为:" << a << b << c << endl;}cout << "共有" << n << "种借法" << endl;}第五题:将大写字母转换为小写字母#include<iostream>using namespace std;void main(){char c1, c2;cout << "本程序用于将大写字母转换为小写字母!" << endl;cout << "请输入一个字母字符:" << endl;cin >> c1;cout << "转换结果为:" << endl;if (c1 >= 'A' && c1 <= 'Z'){c2 = c1 + 32;cout << c2 << endl;}elsecout << c1 << endl;}第六题:判断输入字符类型#include<iostream>using namespace std;void main(){char ch;cout << "本程序用于判断输入字符类型!" << endl;cout << "请输入一个字符:" << endl;cin.get(ch);cout << "判断结果为:" << endl;if (isspace(ch) != 0)cout << "Space" << endl;else if (isupper(ch) != 0 || islower(ch) != 0)cout << "Letter" << endl;else if (isdigit(ch) != 0)cout << "Number" << endl;else cout << "Other" << endl;}