美文网首页
4-循环练习_数组

4-循环练习_数组

作者: ibo | 来源:发表于2017-02-03 15:41 被阅读0次

    循环

    练习:

    1、 求出1到10000 之间的完全数.
    #include <stdio.h>
    
    int main(int argc, const char *argv[])
    {
        int num, sum = 0;
        int i;
    
        for(num = 1; num <= 10000; num++)
        {
    
            for(i = 1, sum = 0; i <= num/2; i++)
            {
                if(num % i == 0)
                {
                    sum = sum + i;
                }
            }
            if(sum == num)
            {
                printf("num : %d\n", num);
            }
        }
        return 0;
    }
    
    2、 输入数字n , 打印n行*号, 组成等腰三角形.
    #include <stdio.h>
    
    int main(int argc, const char *argv[])
    {
        int i, j, k;
        int num;
    
        printf("请输入一个整型数: ");
        scanf("%d", &num);
        for(i = 0; i < num; i++)
        {
            for(j = num; j > i+1; j--)
            {
                printf(" ");
            }
            for(k = 0; k < 2*i+1; k++)
            {
                printf("*");
            }
            printf("\n");
        }
        return 0;
    }
    
    3、 求出1到10000之间的所有水仙花数.
    #include <stdio.h>
    
    int main(int argc, const char *argv[])
    {
        int a, b, c, num;
        int sum;
        for(num = 100; num <= 999; num++)
        {
            a = num / 100 ;
            b = (num - a*100)/10;
            c = num%10;
    
            sum = a*a*a + b*b*b + c*c*c;
    
            if(sum == num)
            {
                printf("num : %d\n", num);
            }
        }
        return 0;
    }
    
    4、 例如: 输入字符D 输出倒序前面补* 例:***DCBA
    #include <stdio.h>
    
    int main(int argc, const char *argv[])
    {
        char ch;
        int i, j, k;
    
        ch = getchar();
    
        for(i = 0; i <= ch - 'A'; j-i++)
        {
            for(j = 0; j <= 2*i; j++)
            {
                if(j < i)
                {
                    printf("*");
                }
                else
                {
                    putchar(ch-(j-i));
                }
            }
            printf("\n");
        }
        return 0;
    }
    
    

    数组 :

    • 相同数据类型 有序 集合 ;
    • 一维数组 : 数组下标只有一个.
    • 存储类型 数据类型 数组名[数组大小] ;
    • int a[6] ;
    • 全部初始化 : 如果数组元素全部初始化, 数组大小可以省略.
    • 部分初始化 : 后面没有进行初始化的部分默认补零.
    • 数组元素的引用: 数组名[下标] ; 下标从0开始.
    • 注意 : 数组越界, 编译器不会对该错误进行检查.

    查找段错误位置:

    1. gcc -g test.c
    2. /a.out 生成core文件
    • gdb ./a.out core 启动GDB
    • r : 执行程序a.out
      quit : 退出 .

    相关文章

      网友评论

          本文标题:4-循环练习_数组

          本文链接:https://www.haomeiwen.com/subject/luydittx.html