第五章 实训教程作业

三、阅读程序题

20.

文字描述:

1.声明一个整型常量n=0,变量i;

2.i=0;

3.判断i<3真假;

4.真再判断n++属于哪种条件,假,结束;

5.判断n++,n==0||n==1||n==2||n==3,输出n++的值;再执行i++,再回到第三步循环;

流程图

代码

#include<stdio.h>
int main()
{
    int n = 0, i;
    for (i = 0; i < 3; i++)
        switch (n++)
        {
        case 0:
        case 1:
        case 2:
        case 3:printf("%2d", n++);
        }
    return 0;
}

截图

四、完善程序题

5.

文字描述

1.声明长整型变量n, i, k, j, p, sum;

2.n=2;

3.判断n<=10真假;

4.真执行下一步,假结束;

5.k=n*n*n;

6.i=1;

7.判断i<k/2真假;

8.真执行下一步,假再判断(i >= k / 2)真假;(真输出“\n error”,再n++回到第三步继续循环;假,n++回到第三步继续循环)

9.j=1;sum=0;

10.判断sum<k真假

11.真 执行下一步,假j+=2,然后回到第十步循环

12.sum+=j;

13判断sum==k真假;

14.真输出n, n, n, sum的值;假j+=2,然后回到第十步循环

15.p=i;

16.判断p<j-2真假

17.真输出两个p的值然后p+=2回到第16步循环,假 输出p的值,然后p+=2回到第16步循环;

流程图

代码

#include<stdio.h>
int main()
{
    long n, i, k, j, p, sum;
    for (n = 2; n <= 10; n++)
    {k = n * n * n;
    for (i = 1; i < k / 2; i += 2)
    {
        for (j = i, sum = 0; sum < k; j += 2)
            sum += j;
        if (sum == k)
        {
            printf("\n%ld * %ld * %ld = %ld =", n, n, n, sum);
            for (p = i; p < j - 2; p += 2)
                printf("%ld", p);
                printf("%ld+", p);
            break;
        }
    }
    if (i >= k / 2)printf("\n error!");
}
    return 0;
}

截图

6.

文字描述

1.声明长整型变量m, n, k, s, 常量flag = 0;

2.输出"input k:"

3.输入k的值;

4.n=k;

5.m=n;

6.s = n * (n - m) - m * m;

7.判断(s * s == 1)真假;

8.真为flag=1;假为m--;

9.判断(m > 0 && !flag)真假;

10真回到第6步循环 假再判断m==0真假

11.判断m==0真假;真n--再执行下一步;假执行下一步;

12.判断(n > 0 && !flag)真假;

13.真回到第5步循环;假输出m,n的值;

流程图

代码

#include<stdio.h>
int main()
{
    long m, n, k, s, flag = 0;
    printf("input k:");
    scanf_s("%ld", &k);
    n = k;
    do
    {
        m = n;
        do
        {
            s = n * (n - m) - m * m;
            if (s * s == 1)
                flag = 1;
            else
                m--;
        } while (m > 0 && !flag);
        if (m == 0)n--;
    } while (n > 0 && !flag);
    printf("m=%ld,n=%ld", m, n);
    return 0;
}

截图

8.

文字描述

1.声明整型变量i, j,常量 line = 0;声明一个长整型变量n;

2.输出"Please enter n:"

3.输入n的值;

4.判断(n <= 1)真假

5.真输出"Enter error, enter again."再输入n的值;假执行下一步

6.i=2

7.判断i <= n;真假 ;

8.真执行循环 中的内容再i++再回到第7步循环;假结束;

流程图

代码

#include<stdio.h>
int main()
{
    int i, j, line = 0;
    long int n;
    printf("Please enter n:");
    scanf_s("%ld", &n);
    while (n <= 1)
    {
        printf("Enter error, enter again.");
        scanf_s("%ld", &n);
    }
    for (i = 2; i <= n; i++)
    {
        for (j = 2; j < i; j++)
            if (i % j == 0)
                break;
        if (j == i && i % 10 != 9)
        {
            printf("%d\t", i);
            line++;
            if (line == 10)
            {
                printf("\n");
                line = 0;
            }
        }
    }
    return 0;
}

截图

9.

文字描述

1.声明整型变量i, j, n;

2.声明长整型变量temp,常量sum=0;

3.输出"Please input terms numbers."

4.输入n的值

5.判断(n < 1 || n>10)真假;

6.真输出"Enter error,enter again."再输入n的值,再回到第五步循环;假进行下一步

7.i=0;

8.判断i<n真假;

9.真执行循环中的内容,然后i++;假输出sum的值;

流程图

代码

#include<stdio.h>
int main()
{
    int i, j, n;
    long temp, sum = 0;
    printf("Please input terms numbers.");
    scanf_s("%d", &n);
    while (n < 1 || n>10)
    {
        printf("Enter error,enter again.");
        scanf_s("%d", &n);
    }
    for (i = 0; i < n; i++)
    {
        temp = 0;
        for (j = 0; j <= i; j++)
            temp += (long int)pow(10, j) * (i + 1);
        sum += temp;
    }
    printf("sum=%ld\n", sum);
    return 0;
}

截图

 五、编程题

1.

文字描述

1.声明整型变量i, j, sum,常量n = 0;

2.i=3;

3.判断i<1000真假;

4.真  执行下一步   假输出n再结束;

5.sum=0;j=1;

6.判断j < n - 1真假

7.真执行下一步,假.判断(i == sum)真假

8.判断(n % j == 0)真假;

9.真  sum += j;假j++,再回到第6步循环

10.判断(i == sum)真假;

11.真执行下一步;假执行j++,再回到第6步循环

12.输出i   ;n++

13判断(n % 5 == 0)真假

14.真输出"\n"假   i++再回到第3步循环

流程图

 代码

#include<stdio.h>
int main()
{
    int i, j, n = 0, sum;
    for (i = 3; i < 1000; i++)
    {
        sum = 0;
        for (j = 1; j < n - 1; j++)
            if (n % j == 0)
                sum += j;
            if (i == sum)
        {
            printf("%d", i);
            n++;
            if (n % 5 == 0)
                printf("\n");
        }
    }
    printf("\n%d\n", n);
    return 0;
}

截图

2.

文字描述

1.声明一个变量i,常量 n = 0;

2.i = 1900;

3.判断i < 2000;真假

4.真 执行下一步;假  结束

5.判断(i % 4 == 0 && i % 100 != 0 || i % 400 == 0)真假

6.真执行下一步  假  i++,再回到第三步循环

7.输出i

8.n++;

9.判断(n % 3 == 0)真假

10.真输出"\n" ;回到第5步循环

流程图

代码

#include<stdio.h>
int main()
{
    int i, n = 0;
    for (i = 1900; i < 2000; i++)
    {
        if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0)
        {
            printf("%d", i);
            n++;
            if (n % 3 == 0)
            printf("\n");
        }
    }
    return 0;
}

截图

3.

文字描述

1.声明整型变量i, a, b, c, 常量n = 0;

2.i=100;

3.判断i <= 999;真假

4.真执行下一步,假结束;

5.a = i / 100; b = (i - a * 100) / 10; c = i % 10;

6.判断(a * a * a + b * b * b + c * c * c == i)真假

7.真执行下一步;假i++,再回到第3步循环

8.输出i

9.n++;

10判断(n % 2 == 0)真假

11.真输出"\n"  再回到第6步循环;假,直接回到第6步循环

流程图

代码

#include<stdio.h>
int main()
{
    int i, a, b, c, n = 0;
    for (i = 100; i <= 999; i++)
    {
        a = i / 100;
        b = (i - a * 100) / 10;
        c = i % 10;
        if (a * a * a + b * b * b + c * c * c == i)
        {
            printf("%d", i);
            n++;
            if (n % 2 == 0)
            printf("\n");
        }
    }
    return 0;
}

截图

4.

文字描述

1.声明整形常量k = 1, 变量i, n, t;

2.声明小数类型常量e = 1, s = 1;

3.输入n的值

4.t=2;i=1;

5.判断i <= k真假;

6.真 执行下一步 假判断(k <= n)真假

7.t = t * i;

8.e = e + 1.0 / t;

9.k++;.

10.判断(k <= n);真假

11.真 执行 i++再回到第5步循环  假输出e的值   再结束

流程图

代码

#include<stdio.h>
int main()
{
    int k = 1, i, n, t;
    float e = 1, s = 1;
    scanf_s("%d", &n);
    do {
        t = 1;
        for (i = 1; i <= k; i++)
            t = t * i;
            e = e + 1.0 / t;
            k++;
    } while (k <= n);
    printf("%.2f", e);
    return 0;
}

截图

5.

文字描述

1.声明整型变量和常量y, s = 1, x, xx = 1, a = 1, i = 1;

2.输入x的值

3.a = -a;

4. i++;
5.xx = xx * x;
6.y = i / xx;
7. s = s + a * y;

8.判断(y > 0.00001)真假

9.真   回到第3步循环   假输出s的值   再结束

流程图

代码

#include<stdio.h>
int main()
{
    float y, s = 1, x, xx = 1, a = 1, i = 1;
    scanf_s("%f", &x);
    do
    {
        a = -a;
        i++;
        xx = xx * x;
        y = i / xx;
        s = s + a * y;
    } while (y > 0.00001);
    printf("%f", s);
    return 0;
}

截图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值