c++基础代码练习考试必备(冒泡,求3*3矩阵对角线元素的积,求素数,密码验证)

1.求1-100之间的素数
 int j;
    int i;
    for (i=2; i <= 100; i++) {
        for (j=2; j <= i; j++) {
            if (i%j == 0) {
                break;
            }    
        }
        if (j >= i) {
            cout << i << " ";
        }
    }
2.    输出如下图形   (15分)
*
**
***
****

for (int i = 1; i <=4; i++) {
        for (int j = 1; j <= i; j++) {
            cout << "*";
        }
        cout << endl;
    }
3.    求两自然数m , n的最大公约数   
int m, n;
    cout << "请输入一个自然数m:";
    cin>>m;
    cout << "请输入一个自然数n:";
    cin >> n;
    int i, g;
    for (i = 1; i <= m && i <= n; i++) {
        if (m%i == 0 && n%i == 0) {
            g = i;
        }
    }
    cout << "数m与数n共同的最大公约数为";
    cout << g;
    
4.    输入10个数,冒泡降序排序并输出  (35分)
cout << "请输入10个数" << endl;
    char arr[10];
    for (int i = 0; i < 10; i++) {
        cin >> arr[i];
    }
    //cout << arr;
    int temp;
    for (int i = 0; i < 9; i++) {
        for (int j = 0; j < 9-i; j++) {
            if (arr[j] > arr[j + 1]) {
                temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
    for (int i = 0; i < 10; i++) {
        cout << arr[i]<<"  ";
    }
5.1.    正确账号:admin,密码是666
要求输入账号,密码验证,一共三次机会,正确输出如下图形。 
*
**
***
****
错误提示并退出程序。  (50分)

while (true)
    {
        cout << "请输入账号" << endl;
        char name[20];
        char pwd[20];
        cin >> name;
        if (strcmp(name,"admin")==0) {
            cout << "请输入密码" << endl;
            cin >> pwd;
            if (strcmp(pwd, "666") == 0) {
                cout << "登陆成功" << endl;
                for (int i = 0; i <=4; i++) {
                    for (int j = 0; j < i; j++) {
                        cout << "*";
                    }
                    cout << endl;
                }
            }
            else
            {
                cout << "密码错误" << endl;
            }
        }
        else
        {
            cout << "账号错误" << endl;
        }

    }
6.    调用函数实现对5个数的降序排序
void jiangxu() {
    cout << "请输入一串数" << endl;
    int a[5];
    int temp;
    for (int i = 0; i < 5; i++) {
        cin >> a[i];
    }
    cout << "输入的5个数为";
    for (int i = 0; i < 5; i++) {
        cout << a[i]<<"  ";
    }

    for (int i = 0; i < 5; i++) {
        for (int j = 0; j < 4 - i; j++) {
            if (a[j] > a[j + 1]) {
                temp = a[j];
                a[j] = a[j + 1];
                a[j + 1] = temp;
            }
        }
    }
    cout << endl;
    cout << "降序排序后的结果为";
    for (int i = 4; i >=0; i--) {
        cout << a[i] << " ";
    }
}
7.使用递归编程实现求任意一个斐波那契数列中的数

斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)
以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:112358132134、……在数学上,
斐波纳契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)在现代物理、准晶体结构、
化学等领域,斐波纳契数列都有直接的应用
int shu(int a) {
    if (a == 1) {
        return 1;
    }
    if (a == 2) {
        return 1;
    }
    return shu(a - 1) + shu(a - 2);
}
int a=shu(21);
cout << a;

8.在键盘上输入一个3行3列矩阵的各个元素的值(值为整数),然后输出主对角线元素的积。
int a[3][3];
int p = 1;
cout << "请输入3行3列数" << endl;
for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 3; j++) {
        cin >> a[i][j];
    }
}

for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 3; j++) {
        if (i == j) {
            p *= a[i][j];
        }
    }
}
cout << "对角线元素的乘积为" << p<<endl;

9.    调用函数实现判定用户输入的正整数是否为“回文数“,所谓“回文数”是指正读反读都相同的数
void huiwen() {
    cout << "请输入一个数" << endl;
    int n, m,i=0,j=0,k=0,a[10];
    cin >> n;
    m = n;
    while (m)
    {
        a[i++] = m % 10;
        m = m / 10;
    }
    k = i - 1;
    while (j<=k)
    {
        if (a[j] != a[k]) {
            break;
        }
        else
        {
            j++;
            k--;
        }
    }
    if (j > k) {
        cout << n << "是回文数" << endl;
    }
    else
    {
        cout << n << "不是回文数" << endl;
    }

}
10.    编程实现从键盘输入一行字符,统计其中有多少个单词,单词之间用空格分隔。
void tongji() {
    cout << "请输入一串字符" << endl;
    string str;
    int count = 0;
    cin >> str;
    getline(cin, str);
    for (int i = 0; i < str.length(); i++) {
        if (str[i] == ' ') {
            count += 1;
        }
    }
    cout << "一行中有" << count + 1 << "个单词" << endl;

 

posted @ 2019-08-27 19:32  魔仙小丽丽  阅读(590)  评论(0编辑  收藏  举报