• C语言成长学习题(十)


    四十一、编写实现以下功能的程序:若从键盘输入字符Y(或y)或N(或n),则终止循环,否则一直等待输入。

     1 #include <stdio.h>
     2 #include <conio.h>
     3 
     4 void main(void)
     5 {
     6     char c;
     7 
     8     printf("是否继续(Y/N)?
    ");
     9     do
    10     {
    11         c = getch();
    12         if (c == 'Y' || c == 'y' || c == 'N' || c =='n')
    13             break;
    14         printf("输入错误,请重新输入一个字符.
    ");
    15     }while (1);
    16     printf("输入正确.
    ");
    17 }

    四十二、在100以内的三个数i、j、k中,找出满足i2 + j2 + k2 > 100的数(只要求找出一个)。

     1 #include <stdio.h>
     2 
     3 void main(void)
     4 {
     5     int i, j, k;
     6 
     7     for (i = 1; i < 100; i++)
     8         for ( j = 1; j < 100; j++)
     9             for ( k = 1; k < 100; k++)
    10                 if ( i * i + j * j + k * k > 100)
    11                     goto stop;
    12 
    13 stop:
    14     printf("i = %d, j = %d, k = %d
    ", i, j, k);
    15 }

    四十三、输入若干学生的成绩(用负数结束输入),计算其平均成绩,并统计不低于平均分的学生人数。

     1 #include <stdio.h>
     2 
     3 #define N 40
     4 
     5 void main(void)
     6 {
     7     int i, n = 0, count = 0;
     8     float score, total = 0, a[N], ave;
     9 
    10     printf("Input data: ");
    11     scanf("%f", &score);
    12     while ( score >= 0)
    13     {
    14         a[n++] = score;
    15         total += score;
    16         scanf("%f", &score);
    17     }
    18     ave = total / n;
    19     for (i = 0; i < n; i++)
    20         if (a[i] >= ave) 
    21             count++;
    22     printf("ave = %f, count = %d
    ", ave, count);
    23 }

    结果:

    Input data: 55 66 77 88 99 100 -1

    ave = 80.833333, count = 3

    四十四、定义含有10个元素的数组,并按顺序和逆序输出数组中各元素的值。

     1 #include <stdio.h>
     2 
     3 void main(void)
     4 {
     5     int i, j, t;
     6     int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
     7 
     8     for (i = 0; i < 10; i++)
     9         printf("%4d", a[i]);
    10     printf("
    ");
    11     for (i = 9; i >= 0; i++)
    12         printf("%4d", a[i]);
    13     printf("
    ");
    14 }

    结果:

    1   2   3   4   5   6   7   8   9   10

    10  9   8   7   6   5   4   3   2   1

    四十五、定义含有10个元素的数组,并将数组中的元素按逆序重新存放后输出。

     1 #include <stdio.h>
     2 
     3 void main(void)
     4 {
     5     int i, t, a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
     6     
     7     for (i = 0; i < 10; i++)
     8         printf("%4d", a[i]);
     9     printf("
    ");
    10 
    11     for (i = 0; i < 5; i ++)
    12     {
    13         t = a[i];
    14         a[i] = a[9 - i];
    15         a[9 - i] = t;
    16     }
    17     for (i = 0; i < 10; i++)
    18         printf("%4d", a[i]);
    19     printf("
    ");
    20 }
  • 相关阅读:
    华为"128为大整数相加"机试题
    ORA-12545: 因目标主机或对象不存在, 连接失败
    VS2010 安装使用STLPort
    Debian 入门安装与配置1
    CF1072A Palindromic Twist 思维
    解决让刷新页面时不提示 "重试或取消”对话框
    php优化及高效提速问题小结
    让Tomcat支持php
    Php邮件发送源码
    使用iconv提示未知错误
  • 原文地址:https://www.cnblogs.com/zero-jh/p/5025978.html
Copyright © 2020-2023  润新知