学C的第十三天【应用多文件的形式实现 三子棋 程序(重点);练习:1. 打印9*9乘法口诀表、2. 求10个整数中的最大值、3. 分数加减交叉计算、4. 数一下 1到 100 的整数中出现了多少个9】-2

简介: 练习:1. 打印9*9乘法口诀表 (打印时使用 %-2d :后面留两个空格)

练习:

1. 打印9*9乘法口诀表

 

(打印时使用 %-2d :后面留两个空格)

//打印9*9乘法口诀表(%-2d)
int main()
{
  int i = 0;
  //打印行:
  for (i = 1; i <= 9; i++) //乘法表从1开始,所以i = 1
  {
    //每一行的打印:
    int j = 0;
    for (j = 1; j <= i; j++)
    {
      printf("%d*%d=%-2d ", i, j, i * j);
      //%-2d:拿右边的空格来提供两位
    }
    printf("\n");
  }
  return 0;
}

4f49e0f853fb488f932dfb224a9e3996.png

4f49e0f853fb488f932dfb224a9e3996.png

(打印时使用 \t :水平制表符,到下次打印相隔四个字符

//打印9*9乘法口诀表(\t:水平制表符)
int main()
{
  int i = 0;
  //打印行:
  for (i = 1; i <= 9; i++) //乘法表从1开始,所以i = 1
  {
    //每一行的打印:
    int j = 0;
    for (j = 1; j <= i; j++)
    {
      printf("%d*%d=%d\t", i, j, i * j);
      //%-2d:拿右边的空格来提供两位
    }
    printf("\n");
  }
  return 0;
}

fc9685275fee4d8d9aebc989a69e6db0.png

2. 求10个整数中的最大值:

   

(应对数组中有负数的情况 -- 把数组的第一个元素赋给max

//求10个整数中的最大值:
#include <stdio.h>
int main()
{
  int arr[10] = { 0 };
  //输入数组
  int i = 0;
  int sz = sizeof(arr) / sizeof(arr[0]);
  for (i = 0; i < sz; i++)
  {
    scanf("%d", &arr[i]);
  }
  //求最大值
  int max = arr[0]; //假设第一个就是最大值
  for (i = 1; i < sz; i++)
  {
    if (arr[i] > max) 
      //在数组中找到最大值,赋给max
    {
      max = arr[i];
    }
  }
  //输出
  printf("%d\n", max);
  return 0;
}


3d77d6030a8e47fbbb47de0b06b86914.png

3. 计算1 / 1 - 1 / 2 + 1 / 3 - 1 / 4 + 1 / 5 …… + 1 / 99 - 1 / 100 的值,打印出结果(浮点数除法)

 

加法减法交叉执行:)

//计算1 / 1 - 1 / 2 + 1 / 3 - 1 / 4 + 1 / 5 …… + 1 / 99 - 1 / 100 的值,打印出结果
#include <stdio.h>
int main()
{
  int i = 0;
  double sum = 0.0; //浮点数除法
  int flag = 1; //用于改变符号
  //使用循环进行计算
  for (i = 1; i <= 100; i++) //让i充当分母
  {
    sum += flag * (1.0 / i);
    flag = -flag; //循环之后改变符号,实现一加一减……
  }
  printf("%lf\n", sum);
  return 0;
}

40cb0760d77e41508c97d2372341e4be.png

加法减法分别计算:)

//计算1 / 1 - 1 / 2 + 1 / 3 - 1 / 4 + 1 / 5 …… + 1 / 99 - 1 / 100 的值,打印出结果
#include <stdio.h>
int main()
{
  int i = 0;
  double sum = 0.0; //浮点数除法
  int flag = 1; //用于改变符号
  //使用循环进行计算
  for (i = 1; i <= 100; i++) //让i充当分母
  {
    if (i % 2 == 1)
    {
      sum += flag * (1.0 / i);
    }
    else
    {
      sum -= flag * (1.0 / i);
    }
  }
  printf("%lf\n", sum);
  return 0;
}


6a00956b5c97480683a088fb2b2283e7.png

4. 编写程序数一下 1到 100 的所有整数中出现多少个数字9

   

一个数执行 if 后就无法再在 else if 中执行,99个位和十位都是9,这是要用两个if)

//编写程序数一下 1到 100 的所有整数中出现多少个数字9
#include <stdio.h>
int main()
{
  int i = 0;
  int count = 0;
  for (i = 1; i <= 100; i++)
  {
    if (i % 10 == 9) //个位是9
    {
      count++;
    }
    if (i / 10 == 9) //十位是9
    {
      count++;
    }
    //这里不能使用 else if,因为99个位和十位都算
    //如果使用 else if,99只会计算一次
  }
  printf("%d\n", count);
  return 0;
}

12f9425d888c42c9b61936899b2eba67.png

10.数组的应用实例2:扫雷游戏

相关文章
|
7月前
|
存储 C语言
牛客网刷题总结(1.有序序列判断,2.获得月份天数,3.矩阵相等判定,4.矩阵转换,5.井字棋判断输赢,6.递归进行进制转化)
牛客网刷题总结(1.有序序列判断,2.获得月份天数,3.矩阵相等判定,4.矩阵转换,5.井字棋判断输赢,6.递归进行进制转化)
78 0
|
7月前
|
存储 Java
Java 编程实例:相加数字、计算单词数、字符串反转、元素求和、矩形面积及奇偶判断
Java中相加两个数字可通过简单赋值实现,如`int sum = x + y;`。若要用户输入数字相加,可使用`Scanner`类读取。计算单词数,可使用`split()`方法或`StringTokenizer`类。反转字符串,可用`for`循环或`StringBuilder`的`reverse()`方法。计算数组元素总和,可遍历数组累加。矩形面积通过长度乘以宽度得出。判断奇偶性,利用模2运算或位运算检查最低位。更多内容,可关注微信公众号`Let us Coding`。
83 0
|
C语言
乘法口诀标的打印及解释
打印乘法口诀表可以说是c语言中一个很经典的一个简单程序了。 打印乘法口诀表的第一反应可能会是很难,怎么打印出这么多相乘的数呢。但是仔细想分析和考虑的话,其实很简单。那么我来说一下打印乘法口诀表的思路。
87 0
数列中,第一项为3,后一项都比前一项的值增5。下列给定程序中,函数fun的功 能是:计算前n(4≤n≤50)项的累计和。在累加过程中把那些被4除后余2的当前累 加值放入数组中
数列中,第一项为3,后一项都比前一项的值增5。下列给定程序中,函数fun的功 能是:计算前n(4≤n≤50)项的累计和。在累加过程中把那些被4除后余2的当前累 加值放入数组中
学C的第十三天【应用多文件的形式实现 三子棋 程序(重点);练习:1. 打印9*9乘法口诀表、2. 求10个整数中的最大值、3. 分数加减交叉计算、4. 数一下 1到 100 的整数中出现了多少个9】
9.数组的应用实例1:三子棋(综合以前学习的知识) 三子棋的实现:(重点都在注释中) 1. 游戏不退出,继续玩下一把(循环) 2. 应用多文件的形式写代码
|
存储 机器学习/深度学习
母牛的故事 替换空格 二进制中1的个数 不使用第三个变量交换a,b的值
母牛的故事 替换空格 二进制中1的个数 不使用第三个变量交换a,b的值
90 0
|
C语言 C++
C语言经典实例:1-10例:三角求和、显示所占字节数、自增自减运算while语句输出最小值、计算快递费用、学生成绩统计
C语言经典实例:1-10例:三角求和、显示所占字节数、自增自减运算while语句输出最小值、计算快递费用、学生成绩统计
C语言经典实例:1-10例:三角求和、显示所占字节数、自增自减运算while语句输出最小值、计算快递费用、学生成绩统计
C语言经典实例:11-20例:使用结构体输出学生成绩、编制万年历、验证哥德巴赫猜想、求二维数组最大最小值、数组求素数、数组元素排序、进制数的转换进制数的转换、找出次大值、重组数组(上)
C语言经典实例:11-20例:使用结构体输出学生成绩、编制万年历、验证哥德巴赫猜想、求二维数组最大最小值、数组求素数、数组元素排序、进制数的转换进制数的转换、找出次大值、重组数组(上)
C语言经典实例:11-20例:使用结构体输出学生成绩、编制万年历、验证哥德巴赫猜想、求二维数组最大最小值、数组求素数、数组元素排序、进制数的转换进制数的转换、找出次大值、重组数组(上)