Educoder-程序設計基礎: 多重循環


第1關:乘法表

​ 本關任務:輸出n * n乘法表

#include <stdio.h>
int main()
{
    int n;
    scanf("%d", &n);
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= n; j++) {
            printf("%d*%d=%d ", i, j, i * j);
            if (j == n)printf("\n");
        }
    }
    return 0;
}

第2關:乘法表(下三角)

​ 本關任務:編寫一個小程序,輸出乘法表下三角的前n行

#include <stdio.h>
int main()
{
    int n;
    scanf("%d", &n);
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= n; j++) {
            printf("%d*%d=%d ", i, j, i * j);
            if (j==i) {
                printf("\n");
                break;
            }
        }
    }
    return 0;
}

法二

#include  <stdio.h>
int main()
{	
    //****補全代碼****
    int i,j,n;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        for(j=1;j<=i;j++)
        printf("%d*%d=%d ",i,j,i*j);
        printf("\n");
    }
    return 0;
}

第3關:n錢買n雞

​ 本關任務:編寫一個小程序,求n錢買n雞一共有多少種買法。 已知公雞5元一只,母雞3元一只,小雞一元3只。現在有n元,想買n只雞,求有多少種買法。每種雞可以買若干只,也可以不買

#include  <stdio.h>
int main()
{
    int i, j, k, n;
    int sum = 0;
    scanf("%d", &n);
    for (i = 0; i <= 100; i++)      //i和j范圍可以依題目不同而不同,減少運行時間
        for (j = 0; j <= 100; j++)
        {
            if (5 * i + 3 * j + (n - i - j) / 3 == n && (n - i - j) % 3 == 0)
            {
                sum = sum + 1;
            }
        }
    printf("%d", sum);
    return 0;
}

第4關:輸出三角形

​ 本關任務:編寫小程序,輸出邊長為n的三角形

#include  <stdio.h>
int main()
{
    int n;
    scanf("%d", &n);
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n - i - 1; j++)     //先打空格
            printf(" ");
        for (int j = n - i - 1; j < n + i; j++)   //從空格結束時打+,數量為2*i+1
            printf("+");
        printf("\n");
    }
    return 0;
}

第5關:輸出空心三角形

​ 本關任務:編寫一個小程序,輸出邊長為n的空心三角形。

#include  <stdio.h>
int main()
{
    int n, i, m, j;
    scanf("%d", &n);
    for (i = 1; i <= n; i++)
    {
        for (m = 1; m <= n - i; m++)
        {
            printf(" ");
        }
        if (i > 1)
        {
            printf("+");
            for (j = 1; j < 2 * (i - 1); j++)
            {
                if (i < n)
                    printf(" ");
                else
                    printf("+");
            }
        }
        printf("+\n");
    }
    return 0;
}

第6關:求水仙花數個數

​ 輸入兩個三位正整數m和n,求[m,n]范圍內有多少個水仙花數

#include  <stdio.h>
int main()
{
    int i, n, a, b, sum = 0, x, y, z;
    scanf("%d%d", &a, &b);
    for (i = a; i <= b; i++)
    {
        x = i / 100;
        y = i / 10 % 10;
        z = i % 10;
        if (i == x * x * x + y * y * y + z * z * z)
            sum = sum + 1;
    }
    printf("%d", sum);
    return 0;
}

第7關:判斷素數

​ 求是否存在[m,n]范圍內的整數x,使得x²+x+41是合數。一個正整數a是合數,如果存在另一個正整數b能整除a,且b\=1,b\=a.例如6是合數,因為2能整除6

#include  <stdio.h>
int main()
{
    int m, n, a, b, c;
    scanf("%d%d", &m, &n);
    for (a = m; a <= n; a++)
    {
        b = a * a + a + 41;
        for (int i = 2; i < b; i++)
        {
            if (b % i == 0)
                c++;
        }
    }
    if (c != 0)
        printf("yes");
    else
        printf("no");
    return 0;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM