第五章题目

1.阅读程序题

(20)

#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;
}

文字描述: 

1、定义整型变量n和I,并把0的值赋值给n;

2、定义for循环,把0的值赋值给i;

3、判断i是否小于3,是进行下一步,否则进行第9步;

4、定义一个Switch循环,n++之后为几;

5、n++为0时,执行空语句;

6、继续执行n++为1时,执行空语句;

7、继续执行n++为2时,执行空语句;

8、继续执行n++为3时,输出n++的值,返回第3步之和,进行i++;

9、结束。

流程图


2.完善程序题

 (5)

#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;
            }
        }
    }
                  return 0;
}

 文字描述:

1、定义整型变量n,i,k,j,p,sum;

2、定义for循环,把1的值赋值给i;

3、判断i是否小于k除以2,是执行下一步,否则执行第13步;

4、定义for循环,把1的值赋值给j,把0的值赋值给sum;

5、判断sum是否小于k,是进行下一步,否则进行第3步;

6、把sum加j的值赋值给sum,返回第5步,j自加2;

7、判断sum是否等于k,是进行下一步,否则进行第3步;

8、输出n,n,n,sum的值;

9、定义for循环,把i的值赋值给p;

10、判断p是否小于j减2,是进行下一步,否则进行第3步;

11、输出p的值,返回第10步,p自加2;

12、输出p的值,返回第3步;

13、结束。

流程图

(6)

#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;
}

文字描述

1、定义长整型m,n,k,s,flag并把0的值赋值给flag;

2、输出普通字符;

3、输入k的值;

4、把k的值赋值给n;

5、把n的值赋值给m;

6、把表达式的值赋值给s;

7、判断s乘以s是否等于1,是进行下一步,否则进行第9步;

8、把1的值赋值给flag;

9、m自加1;

10、判断m是否大于0和是否不等于flag,是进行下一步,否则返回第6步;

11、判断m是否等于0,是进行下一步否则结束。
12、判断n是否大于0和步等于flag,是进行下一步,否则返回第5步;

13、结束。

流程图

(8)

#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 r=ettor,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;
}

文字描述:

1、定义整数变量i,j,line,并把0的值赋值给line,声明长整型n;

2、判断n是否小于等于1,是进行下一步,否则进行第5步;

3、输出普通字符;

4、输入n的值;

5、定义for循环,把2的值赋值给i,

6、判断i是否小于等于n,是进行下一步,否则进行第12步;

7、定义for循环,把2的值赋值给j;

8、判断j是否小于i,是进行下一步,否则进行第6步;

9、判断i取余j是否等于0,是进行第6步,否则进行下一步;

10、判断j是否等于i和i取余10是否不等于9,是进行下一步,否则进行第6步;

11、输出i的值;

12、line自加1;

13、判断line是否等于10,是进行下一步,否则进行第6步;

14、输出”\n”,并且把0的值赋值给line;

15、结束。

流程图

(9)

#include<stdio.h>
#include<math.h>
int main()
{
    int i, j, n; long temp, sum = 0;
    printf("Please input terms number.");
    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、定义整数变量i,j,n,声明长整型变量temp和sum,并把0的值赋值给sum;

2、输出普通字符;

3、输入n的值;

4、判断n是否小于1,或者n是否大于10,是进行下一步,否则进行第7步;

5、定义for循环,把0的值赋值给I;

6、判断i是否小于n,是进行下一步,否则进行第12步;

7、把0的值赋值给temp;

8、定义for循环,把0的值赋值给j;

9、判断j是否小于等于i,是进行下一步,否则进行第6步i自加1;

10、把表达式的值赋值给temp,返回第9步,j自加1;

11、把sum加temp的值赋值给sum,返回第6步,i自加1;

12、结束。

流程图


3.编程题

#include<stdio.h>
int main()
{
    int i, j, a = 0;
    printf("1000以内的所有完整分别是:");
    for(i=1;i<=1000;i++)
    {
        int sum = 0;
        for (j = 1; j < i; j++)
        {
            if (i % j == 0)
                sum = sum + j;
        }
        if(sum==i)
        {
            printf("%d", i);
            a++;
            if (a % 5 == 0)
                printf("\n");
        }
    }
    printf("\n1000以内完整个数为%d", a);
                  return 0;
}

文字描述:

1、定义整数变量i,j,a,并把0的值赋值给a;

2、输出普通字符;

3、定义for循环,把1的值赋值给i;

4、判断i是否小于等于1000,是进行下一步,否则进行第15步;

5、把0的值赋值给整数sum;

6、定义for循环,把1的值赋值给j;

7、判断j是否小于i,是进行下一步,否则i自加1进行第4步;

8、判断i是否取余j等于0,是进行下一步否则进行第10步;

9、把sum加j的值赋值给sum;

10、判断sum是否等于i,是进行下一步,否则i自加1进行第4步;

11、输出i的值;

12、a自加1;

13、a取余5是否等于0,是进行下一步,否则i自加1进行第4步;

14、输出“\n”,i自加1进行第4步;

15、结束。

流程图

(2)

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

文字描述:
1、定义整型变量i和j,并把0的值赋值给j;

2、定义for循环,把1900的值赋值给i;

3、判断i是否小于等于2000,是进行下一步否则进行第9步;

4、判断i是否为闰年的数;

5、输出i的值;

6、j自加1;

7、判断j取余3是否等于0,是进行下一步,否则i自加1,返回第3步;

8、输出“\n”,返回第3步,并且i自加1;

9、结束。

流程图

(3)

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

文字描述:
1、定义整数变量number,a,b,c,I,并且把0的值赋值给i;

2、定义for循环,把100的值赋值给number;

3、判断number是否小于等于999,是进行下一步,否则进行第12步;

4、把number除以100的数赋值给a;

5、把number取余100除以10的值赋值给b;

6、把number取余10的值赋值给c;

7、判断number是否等于表达式的值,是进行下一步,否则返回第3步,number自加1;

8、输出number的值;

9、i自加1;

10、判断i取余2是否等于0,是进行下一步,否则返回第3步,number自加1;

11、输出“\n”,返回第3步,number自加1;

12、结束。

流程图

(4)

#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\n", e);
          return 0;
}

文字描述:
1、定义整数变量k,i,n,t;

2、声明单精度浮点型变量e和s,并把1的值分别赋值给e和s;

3、输入n的值;

4、把1的值赋值给t;

5、定义for循环,把1的值赋值给i;

6、判断i是否小于等于k,是进行下一步,否则进行第 步;

7、把t乘以i的值赋值给t;

8、把表达式的值赋值给e;

9、k自加1;

10、判断k是否小于等于n,是进行下一步,否则返回第4步;

11、输出e的值;

12、结束。

流程图

(5)

#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;
}

文字描述;
1、定义单精度浮点型变量y,s,x,xx,a,i,并把1的值赋值给s,xx,a,i;

2、输入x的值;

3、把-a的值赋值给a;

4、i自加1;

5、把xx乘以x的值赋值给xx;

6、把i除以xx的值赋值给y;

7、把s加a乘以y的值赋值给s;

8、判断y是否大于0.00001,是进行下一步,否则进行第3步;

9、输出s的值,结束。

流程图

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值