zoukankan      html  css  js  c++  java
  • 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;
  • 相关阅读:
    滑雪在日本 之 新泻篇 7
    就算神游 之四:富士山和富士游乐园 12
    滑雪在日本 之 新泻篇 15
    就算神游 之四:富士山和富士游乐园 6
    滑雪在日本 之 新泻篇 6
    就算神游 之四:富士山和富士游乐园 13
    滑雪在日本 之 新泻篇 4
    20121022日记流水账
    滑雪在日本 之 新泻篇 8
    滑雪在日本 之 新泻篇 5
  • 原文地址:https://www.cnblogs.com/zgl19991001/p/11420342.html
Copyright © 2011-2022 走看看