第五章实现作业及截图

本文提供了多个C语言编程练习题的代码实现,包括循环、条件判断、字符处理、数学运算等方面,适合初学者巩固基础知识。
摘要由CSDN通过智能技术生成

 1-5题代码


#include<stdio.h>
int main()
{
    int k, x;
    for (k = 0, x = 0; k <= 9 && x != 10; k++) {
        x = x + 2;
    }
    printf("%d,%d", k, x);
    return 0;
}

 

1-6

1.定义字符c
2.c = getchar()
3.判断getchar() != '#',若getchar() != '#',执行3,4,5否则转6
4.putchar(c)
5.c = getchar()
6.输出c
  1. #include<stdio.h>

  2. int main()

  3. {

  4. char c;

  5. for (c = getchar(); getchar() != '#'; c = getchar())

  6. putchar(c);

  7. return 0;

  8. }

 

2-14代码:

 
  1. #include<stdio.h>

  2. int main()

  3. {

  4. char ch;

  5. for (; (ch = getchar()) != '\n';) {

  6. printf("%c", ch);

  7. }

  8. return 0;

  9. }

    1.定义字符ch
    2.判断ch = getchar()) != '\n',若ch = getchar()) != '\n',执行2,3否则转3
    3.输出ch

    2-5代码:

     
  10. #include<stdio.h>

  11. int main()

  12. {

  13. int i, a = 1;

  14. unsigned j;

  15. for (i=15;i>0;i-=2)

  16. a++;

  17. printf("输出a=%d", a);

  18. return 0;

  19. }

  20.  

    文字描述法

    1.定义int i, a = 1;unsigned j;
    2.i=15
    3.判断i>0,若i<0,执行3,4否则转5
    4.a++转3
    5.输出a

    3-2  代码:

    #include<stdio.h>
    int main()
    {
        int m = 1, n, i;
        for (i = 0; i < 5; i++) {
            int m = 1;
            m++;
            if (i == 4) {
                n = m;
            }
        }
        printf("%d,%d", m, n);
        return 0;
    }

    文字描述法

    1.定义int i
    2.i=1
    3判断i<6,若i<6执行3,4,5否则转6
    4.如果i%2,输出*
    5.否则输出#
    6.结束

    3-2  代码:

    #include<stdio.h>
    int main()
    {
        int m = 1, n, i;
        for (i = 0; i < 5; i++) {
            int m = 1;
            m++;
            if (i == 4) {
                n = m;
            }
        }
        printf("%d,%d", m, n);
        return 0;
    }

    1.定义m=1,n,i
    2.i=0
    3.判断i<5,若i<5执行3,4,5,6否则转7
    4.整数m=1
    5.m++
    6.如果i=4,n=m
    7.输出m,n

    3-3  代码:

    1,#include<stdio.h>2,int main()3,{4,int i;5,for (i = 'a'; i < 'f'; i++, i++) {6,printf("%c", i - 'a' + 'A');7,}8,return 0;9,}
  21.  

     

    文字描述法

    1.定义整数i
    2.i='a'
    3.判断i<'f'若i<'f'执行3,4,5否则转6
    4.输出i - 'a' + 'A'的值
    5.i++,i++
    6.结束

    3-4  代码:

    #include<stdio.h>
    int main()
    {
        int f, f1, f2, i;
        f1 = 1; f2 = 1;
        printf("%2d %2d", f1, f2);
        for (i = 3; i <= 5; i++) {
            f = f1 + f2;
            printf("%2d", f);
            f1 = f2;
            f2 = f;
        }
        return 0;
    }

    文字描述法

    1.定义整数f,f1,f2,i
    2.f1=1,f2=1
    3.输入f1,f2的值
    4.i=3
    5.判断i<=5若i<=5执行5,6,7,8,9否则转10
    6.f=f1+f2
    7.输入f的值
    8.f1=f2;f2=f
    9.i++

  22. 10.结束

  23. 3-5代码:

    #include<stdio.h>
    int main()
    {
        int n = 5;
        do
        {
            switch (n % 2) {
            case 0:
                n--;
                break;
            case 1:
                n--;
                continue;
            }
            n--;
            printf("%2d", n);
        } while (n > 0);
            return 0;
    }

    文字描述法

    1.定义整数n=5
    2.当n%2时
    3.case0:n--,转7
    4.case1:n--执行2,3,5,6,7
    5.n--
    6.输出n的值
    7.判断n>0,若n>0执行2,3,4,5,6,7否则转8

    8.结束

     

    文字描述法

    1.定义整数n=5
    2.当n%2时
    3.case0:n--,转7
    4.case1:n--执行2,3,5,6,7
    5.n--
    6.输出n的值
    7.判断n>0,若n>0执行2,3,4,5,6,7否则转8

    8.结束

    3-7代码:

     
  24. #include<stdio.h>

  25. int main()

  26. {

  27. int x = 10;

  28. while (x--);

  29. printf("x=%d\n", x);

  30. return 0;

  31. }

  32.  

  33. 文字描述法

    1.定义整数x=10
    2.计算x--
    3.输出x的值

    3-9代码:

     
  34. #include<stdio.h>

  35. int main()

  36. {

  37. int m = 9;

  38. for (; m > 0; m--) {

  39. if (m % 3 == 0) {

  40. printf("%d", --m);

  41. }

  42. }

  43. return 0;

  44. }

  45.  

  46. 文字描述法
    1.定义整数m=9
    2.判断m>0,若m<0,执行2,3,4否则转5
    3.如果m%3==0
    4.输出--m的值否则转5
    5.结束

    3-10代码:

    #include<stdio.h>
    int main()
    {
        int x = 8;
        for (; x > 0; x--) {
            if (x % 3 == 0) {
                printf("%d,", x--);
                continue;
            }
            printf("%d", --x);
        }
        return 0;
    }

  47.  

  48. 文字描述法

    1.定义整数x=8
    2.判断x>0,若x<0,执行2,3,4否则转5
    3.如果x%3==0
    4.输出x--的值转2,3,5
    5.输出--x的值

    3-11代码:

     
  49. #include<stdio.h>

  50. int main()

  51. {

  52. int x = 3;

  53. do {

  54. printf("%3d", x = x - 3);

  55. } while (!x);

  56. return 0;

  57. }

  58.  文字描述法

    1.定义整数x=3
    2.输出x=x-3
    3.判断!x,若!x执行2,3否则转4
    4.结束

  59. 3-12代码:

  60. #include<stdio.h>

  61. int main()

  62. {

  63. int x = 2;

  64. do {

  65. printf("%3d", !x - 2);

  66. } while (--x);

  67. return 0;

  68. }

    文字描述法

    1.定义整数x=2
    2.输出!x-2
    3.判断--x,若--x执行2,3否则转4
    4.结束

    3-13代码:

     
  69. #include<stdio.h>

  70. int main()

  71. {

  72. int n = 12345, d;

  73. while (n != 0) {

  74. d = n % 10;

  75. printf("%d", d);

  76. n = n / 10;

  77. }

  78. return 0;

  79. }

    文字描述法

    1.定义整数n=12345,d
    2.当n!=0
    3.d=n%10
    4.输出d的值
    5.n=n/10
    6.结束

    3-14代码:

    #include<stdio.h>
    int main()
    {
        int m = 0, sum = 0;
        char c, oldc = '+';
        do
        {
            c = getchar();
            if (c <= '9' && c >= '0')m = 10 * m + c - '0';
            else
            {
                if (oldc == '+')sum += m;
                else sum -= m;
                m = 0;
                oldc = c;
                printf("%3d", sum);
            }
        } while (c != '=');
        return 0;
    }

     文字描述法

    1.定义整数m=0,sum=0,字符c,oldc='+'
    2.c=getchar()
    3.如果c<='9'&&c>='0',执行m=10*m+c-'0'
    4,否则如果oldc=='+',执行sum+=m
    5.否则sum-=m
    6.m=0
    7.oldc=c
    8.输出sum的值
    9.判断c!='='执行2,3,4,5,6,7,8,9否则转10
    10.结束

    3-16代码:

     
  80. #include<stdio.h>

  81. int main()

  82. {

  83. int t = 1, n = 235;

  84. do {

  85. t *= n % 10;

  86. n /= 10;

  87. } while (n);

  88. printf("%d\n", t);

  89. return 0;

  90. }

    文字描述法

    1.定义整数t=1,n=235
    2.t*=n%10
    3.n/=10
    4.判断n执行2,3,4否则转5
    5.输出t的值
    6.结束

    3-17代码:

    #include<stdio.h>
    int main()
    {
        int m = 5, n = 0;
        while (m > 0) {
            switch (m) {
                case 1:
                case 3:n += 1; m--; break;
                default:n = 0; m--;
                case 2:
                case 4:n += 2; m--; break;
            }
            printf("%2d", n);
        }
        return 0;
    }

    文字描述法

    1.整数m=5,n=0
    2.当m>0
    3.判断m
    4.执行case1:
    5.执行case3:
                    n+=1,m--,若n+=1转9
    6.默认n=0,m--
    7.执行case2:
    8.执行case4:
                    n+=2,m--,若n+=2转9
    9.输出n的值
    10.结束

    3-18代码:

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

    文字描述法

    1.定义整数i,m=0
    2.i=0
    3.判断i否则转10
    4.执行case0:
    5.执行case1:
                  m++
    6.执行case3:
                  m++
    7.执行case4:m--,若m--转8
    8.输出m的值
    9.i++转3
    10.结束

    3-19代码:

    #include<stdio.h>
    int main()
    {
        int i, b = 0, c = 2;
        for (i = 0; i < 2; i++) {
            switch (++b, b * c) {
                case 1:printf("1");
                case 2:printf("2");
                case 3:printf("3"); break;
                default:printf("other\n");
            }
        }
        return 0;
    }

    文字描述法

    1.定义整数b=0,c=2
    2.i=0
    3.判断i<2否则转10
    4.当++b,b*c
    5.执行case1:
                 输出1
    6.执行case2:
                 输出2
    7.执行case3:
                输出3

    8.默认输出other
    9.i++转3
    10.结束
     

    3-21代码: 

     
  91. #include<stdio.h>

  92. int main()

  93. {

  94. char c;

  95. while ((c = getchar()) != '?')

  96. putchar(--c);

  97. return 0;

  98. }

  99.  

    文字描述法

    1.定义字符c
    2.当c = getchar()) != '?'
    3.putchar(--c);
    4.结束

    4-1代码:

    4-1代码:

    #include<stdio.h>
    int main()
    {
        int denominator, flag, i, n;
        double item, sum;
        printf("请输入n的值:");
        scanf_s("%d", &n);
        flag = 1;
        denominator = 1;
        sum = 0;
        for (i = 1; i <= n; i++) {
            item = flag * 1.0 / denominator;
            sum = sum + item;
            flag = -flag;
            denominator += 2;
        }
        printf("sum=%f\n", sum);
        return 0;
    }

  100.  

    文字描述法

    1.定义整数denominator, flag, i, n,小数item, sum
    2.输入n的值
    3.flag = 1
    4.denominator = 1
    5.sum = 0
    6.i=1
    7.判断i<=n,执行7,8,9,10,11,12否则转13
    8.item = flag * 1.0 / denominator;
    9.sum = sum + item
    10.flag = -flag
    11.denominator += 2
    12.i++
    13.输出sum的值
    14.结束

    4-2代码:

    #include<stdio.h>
    int main()
    {
            int i, n;
        float sum = 0, flag = 1;
        scanf_s("%d", &n);
        for (i = 1; i <= n; i++) {
            sum = sum + (flag * i) / (2 * i - 1);
            flag = -flag;
        }
        printf("Sum=%f\n", sum);
        return 0;
    }


  101.  

    文字描述法

    1.定义整数i,n,小数sum = 0, flag = 1
    2.输出n的值
    3.i=1
    4.判断i <= n若i <= n执行4,5,6,7否则转8
    5.sum = sum + (flag * i) / (2 * i - 1)
    6.flag = -flag
    7.i++
    8.输出sum的值
    9.结束

    4-3代码:

    #include<stdio.h>
    int main()
    {
        int n, s;
        printf("Enter a number:");
        scanf_s("%d", &n);
        printf("Output:");
        do {
            s = n % 10;
            printf("%d", s);
            n /= 10;
        } while (n != 0);
        return 0;
    }
     

     

    文字描述法

    1.定义整数n,s
    2.请输入一个数字给n
    3.输出Output
    4.s = n % 10;
    5.printf("%d", s);
    6.n /= 10;
    7.判断n != 0若n != 0执行4,5,6,7否则转8
    8.结束

  102.  

    4-4代码:

    #include<stdio.h>
    int main()
    {
        int k,n;
        double s;
        s = 1.0;
        k = 1;
        scanf_s("%d", &n);
        while (k <= n) {
            s = s + 1.0 / (k * (k + 1));
            k++;
        }
        printf("s=%f\n\n", s);
        return 0;
    }

    文字描述法

    1.定义整数k,n;小数s
    2.s = 1.0;
    3.k = 1;
    4.输入n的值
    5.判断k <= n,若k <= n执行5,6,7否则转8
    6.s = s + 1.0 / (k * (k + 1))
    7.k++
    8.输出s的值
    9.结束

    4-10代码:

    #include<stdio.h>
    int main()
    {
        int i;
        for (i = 100; i < 200; i++)
            if ((i - 2) % 4 == 0) 
                if (!((i - 3) % 7)) 
                    if ((i - 5) % 9 == 0) 
                        printf("%d", i);
        return 0;
    }

     文字描述法

    1.定义整数i
    2.i=100
    3.判断i<200,若i<200执行3,4,5,6,7,8否则转9
    4.如果(i - 2) % 4 =0)执行5否则i++转3
    5.如果!((i - 3) % 7执行6否则i++转3
    6.如果(i - 5) % 9 == 0执行7否则i++转3
    7.输出i的值
    8.i++转3
    9.结束

    4-11代码:

    #include<stdio.h>
    int main()
    {
        int count, i, n;
        double grade, total;
        printf("Enter n:");
        scanf_s("%d", &n);
        total = 0;
        count = 0;
        for (i = 1; i <= n; i++)
        {
            printf("Enter grade #%d:", i);
            scanf_s("%lf", &grade);
            total = total + grade;
            if (grade < 60)
                count++;
        }
        printf("Grade average=%.2f\n", total / n);
        printf("Number of failures=%d\n", count);
        return 0;
    }
     

     

    文字描述法

    1.定义整数count, i, n,小数grade, tota
    2.输入Enter n的值
    3.total = 0
    4.count = 0
    5.i=1
    6.判断i <= n,若i <= n执行6,7,8,9,10否则转11
    7.输出grade的值
    8.total = total + grade
    9.如果grade < 60执行count++
    10.i++转6
    11.输出total的值
    12.输出count的值
    13.结束

    4-12代码:

    #include<stdio.h>
    int main()
    {
        int i, j;
        for (i = 0; i < 10; i++)
        {
            j = i * 10 + 6;
            if (j % 3 == 0)
                printf("%3d", j);
        }
        return 0;
    }

    文字描述法

    1.定义整数i,j
    2.i=0
    3.判断i < 10若i < 10执行否则转
    4.j = i * 10 + 6
    5.如果j % 3 =0执行6
    6.输出j的值
    7.i++转3
    8.结束

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值