(C语言)数组的深入理解和其他经典例题

1.输入两个正整数m和n,求其最小公倍数数

(C语言)数组的深入理解和其他经典例题_第1张图片

 #include
int main()
{
    int m, n, a, b;
    int i = 0;
    //变量初始化
    scanf("%d%d", &n, &m);
    //利用do和while循环i每次循环自加,i乘m,且b每次循环都对a取余,一旦取余为0,则循环结束,跳出循环,并且此时的m*i就是其最小公倍数
    do
    {
        i++;
        a = m * i;
        b = a % n;
    } while (b != 0);
    //do--while循环的好处是不需要条件,循环便能进行
    printf("%d", m * i);
    return 0;
}

2.输入1个数,并输出对应个数的水仙花数100

(C语言)数组的深入理解和其他经典例题_第2张图片

 

#include

int main()
{
    int n, a, b, c, num, l;
    l = 0;
    //num用来计数,控制循环变量
    scanf("%d", &num);
    //for循环,num表示输出的水仙花个数为多少,先初始化l=0
    for (n = 100; n <= 999 && l < num; n++)
    {
        a = n / 100;
        b = n / 10 % 10;
        c = n % 10;
        //计算n的每个位数的数字
        if (a * a * a + b * b * b + c * c * c == n)
        {
            printf("%d ", n);
            l++;
            //i++,当l>num时,循环条件不成立,跳出循环,就可以实现输入的值为多少,输出多少个水仙花数
        }

    }

    printf("\n");


    return 0;
}

3.将指定的数组中第k个元素删除(C语言)数组的深入理解和其他经典例题_第3张图片

 #include

int main()
{
    int a[100] = {0};
    //定义一个数组,可以放100个字符,右边先初始化0;
    int i,n,k;
    scanf("%d%d", &n, &k);
    //for循环输入n个数,放进数组中;
    for (i = 0; i < n; i++) scanf("%d",& a[i]);
    //程序最重要的一部分,控制变量,因为是要删掉第k为,则令i=k;输出的数比原来的少一个i     for (i = k; i < n - 1; i++) a[i] = a[i + 1];
        n--;
    for (i = 0; i < n; i++) printf("%d ", a[i]);


    return 0;
}
4.编写代码,演示多个字符向两端移动,向中间汇聚(程序员的烂漫)

#include

#include
#include
int main()
{
    char arr[] = "abc";
    char arr1[] = "hello hengyi!!!";
    char arr2[] = "###############";
    int left = 0;
    int right = strlen(arr1) - 1;

    while (left <= right)
    {
        arr2[left] = arr1[left];
        arr2[right] = arr1[right];
        printf("%s\n", arr2);
        Sleep(1000);
        system("cls");

        left++;
        right--;
    }


    return 0;
}
 

你可能感兴趣的:(c语言,其他,开发语言)