1. 题目名称: ES11-1_字符数组

    • 类型: 选择题
    • 描述: 以下程序的运行结果是()。
    • 代码:

      #include <stdio.h>
      int main() {
          char s[] = {"012xy"};
          int i, n = 0;
          for(i = 0; s[i] != 0; i++)
              if(s[i] >= 'a' && s[i] <= 'z')
                  n++;
          printf("%d\n", n);
          return 0;
      }
    • 选项内容:

        1. 0
        1. 1
        1. 2
        1. 12
  • ans:2
  1. 题目名称: ES12-2_二维数组

    • 类型: 选择题
    • 描述: 以下程序的运行结果是()。
    • 代码:

      #include <stdio.h>
      int main() {
          int b[3][3] = {{0, 1, 2}, {0, 1, 2}, {0, 1, 2}}, i, j, t = 1;
          for(i = 0; i < 3; i++)
              for(j = i; j <= i; j++)
                  t += b[i][b[j][i]];
          printf("%d\n", t);
          return 0;
      }
    • 选项内容:

        1. 2
        1. 4
        1. 3
        1. 5
  • ans:4
  1. 题目名称: EP11-2_字符数组

    • 类型: 编程题
    • 描述: 输入一行字符,统计其中有多少单词,单词之间用空格(可能不只1个空格)隔开。编程时,使用C语言提供的字符串函数gets()读入一行字符。
    • 代码:

      #include <stdio.h>
      int main() {
          int i, count;
          char s[80];
          gets(s);
          count = 0;
          for(i = 0; s[i] != '\0'; i++) {
              if(s[i] != ' ' && (s[i + 1] == ' ' || s[i + 1] == '\0'))
                  count++;
          }
          printf("%d\n", count);
          return 0;
      }
    • 测试用例:

      • 输入: "I am a student!",输出: 4
      • 输入: "I am a student! How are you?",输出: 7
  2. 题目名称: EP12-1_二维数组(矩阵中部分元素之和)

    • 类型: 编程题
    • 描述: 读入一个正整数 n (2 ≤ n ≤ 10),再读入 n 阶方阵 a,计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。
    • 代码:

      #include <stdio.h>
      int main() {
          int a[10][10], n, i, j, sum;
          scanf("%d", &n);
          for(i = 0; i < n; i++)
              for(j = 0; j < n; j++)
                  scanf("%d", &a[i][j]);
          sum = 0;
          for(i = 0; i < n; i++)
              for(j = 0; j < n; j++) {
                  if(i == n - 1 || j == n - 1 || (i + j) == n - 1)
                      continue;
                  sum += a[i][j];
              }
          printf("%d\n", sum);
          return 0;
      }
    • 测试用例:

      • 输入: "4n2 3 4 1n5 6 1 1n7 1 8 1n1 1 1 1",输出: 35
  3. 题目名称: EP12-2_二维数组(杨辉三角形)

    • 类型: 编程题
    • 描述: 打印杨辉三角形:输入一个整数 n (2 ≤ n ≤ 10)。要求输出前 n 行杨辉三角形。每个数字占固定4位。
    • 代码:

      #include <stdio.h>
      int main() {
          int a[10][10], n, i, j;
          scanf("%d", &n);
          for(i = 0; i < n; i++)
              for(j = 0; j <= i; j++) {
                  if(j == 0 || i == j)
                      a[i][j] = 1;
                  else
                      a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
              }
          for(i = 0; i < n; i++) {
              for(j = 0; j <= i; j++)
                  printf("%4d", a[i][j]);
              printf("\n");
          }
          return 0;
      }
    • 测试用例:

      • 输入: "6",输出:

        1
        1   1
        1   2   1
        1   3   3   1
        1   4   6   4   1
        1   5  10  10   5   1
最后修改:2024 年 12 月 03 日 02 : 09 PM
如果觉得我的文章对你有用,请随意赞赏