C语言练习题

练习一:求2^2 + 4^2 + 6^2 + …n^2

  • 直到累加和大于或等于10000为止,输出累加和
  • 输出累加式中的项数i,以及最大的数n
#include <stdio.h>

int main()
{
    int sum = 0;
    int i = 1;
    int an = 0;
    
    while( sum < 10000 )
    {
        an = (2*i) * (2*i);
        sum = sum + an;
        i = i + 1;
    }
    i = i - 1;
    
    printf("sum = %d
", sum);
    printf("an = %d
", an);
    printf("i = %d
", i);
    
    return 0;
}

练习二:编写程序近似计算圆周率π的值

  • 提示:π/4 = 1 - 1/3 + 1/5 - 1/7 + 1/9 - ……
  • 要求:
    • 分别打印前100,1000,10000项计算的π值
    • 打印最后一项的绝对值小于10^-6时候的π值

a(n)=(-1)^(n+1) (1/(2n-1))

π=4S(n)

分别打印前100,1000,10000项计算的π值

#include <stdio.h>

int main()
{
    double sum = 0.0;
    double an = 0.0;
    int i = 1;
    int flag = 1;

    while(i<= 1000000)
    {
        an = flag * (1.0/(2*i-1));
        sum = sum + an;
        flag = flag * (-1);
        i = i + 1;
    }

    printf("PI = %f
", sum*4);

    return 0;
}

打印最后一项的绝对值小于10^-6时候的π值

#include <stdio.h>

int main()
{
    double sum = 0.0;
    double an = 1.0;
    int i = 1;
    int flag = 1;

    while( !((-(1e-6) < an) && (an < 1e-6)))
    {
        an = flag * (1.0/(2*i-1));
        sum = sum + an;
        flag = flag * (-1);
        i = i + 1;
    }

    printf("PI = %f
", sum*4);

    return 0;
}

练习三:编写程序,求出2-100以内的所有质数

  • 要求:将所有求出的质数打印到屏幕
#include <stdio.h>

int main()
{
    int i = 2;

    while( i <= 100 )
    {
        int flag = 0;
        int j = 2;

        while( j < i )
        {
            if( i%j == 0 )
            {
                flag = flag + 1;
            }
            j = j + 1;
        }

        if( flag == 0 )
        {
            printf("%d, ", i);
        }
        i = i + 1;
    }

    printf("
");

    return 0;
}

练习四:在键盘上输入n个数,其中n也使用键盘输入

  • 要求:输入完n个数之后,屏幕上打印输入的最小数
  • 提示:使用循环结构连续在键盘上连续输入
#include <stdio.h>

int main()
{
    int num = 1;
    int i = 0;
    int min = 0;

    printf("Input number of integers: 10
");

    while(num<=10)
    {
        printf("Input number[%d]", num);
        scanf("%d", &i);
        if(i < min)
        {
            min = i;
        }
        num = num + 1;
    }

    printf("The min integer is: %d", min);

    return 0;
}