shell 脚本实现乘法口诀表的两种方法——shell与C语言

话不多说直接给出代码(执行c语言时没有gcc编译器会报错的哦!):

1 #!/bin/bash

2 if [ $# -eq 0 ]

3 then

4 echo "welcome you!"

5 echo "this is a test with 2 methods to output arbitrarily mux table!"

6 else

7 echo "sorry you input invliad argc!"

8 echo "you input other argc before!"

9 exit 0

10 fi

11

12 while ((1))

13 do

14 echo "you can choose 'shell' 'gcc' or 'quit' command"

15 read -p "please input your choice:" choice

16

17 if [ $choice == "shell" ]

18 then

19 echo "will do show shell"

20 read -p "please input a num you want:" num

21 touch 6.sh

22 echo "" > 6.sh

23 echo '#!/bin/bash

24 for ((j=1;j<=$1;j++))

25 do

26 for((i=1;i<=j;i++))

27 do

28 echo -ne "$i*$j=$[$i*$j]\t"

29 done

30 echo -e "\r"

31 done

32 ' >> 6.sh

33 chmod 777 6.sh

34 cat 6.sh

35 source 6.sh $num

36 exit 0

37 elif [ $choice == "gcc" ]

38 then

39 echo "will do show c"

40 touch 6.c

41 echo "" > 6.c

42 echo '#include

43

44

45

46

47 int main(int argc,char **argv)

48 { if(argc<2)

49 perror("argc num is not correct!please do it again!");

50 printf("%s\n",argv[1]);

51 int num;

52 num=atoi(argv[1]);

53 int i,j;

54 for (j=1;j<=num;j++)

55 {

56 for(i=1;i<=j;i++)

57 {

58 printf("%d*%d=%d\t",i,j,i*j);

59 }

60 printf("\n");

61 }

62

63 return 0;

64 }' >> 6.c

65 cat 6.c

66 #判断是否有安装gcc编译器

67 pName=$(rpm -qa | grep "$gcc")

68 if [ $? -eq 0]

69 then

70 echo "gcc had installed!"

71 else

72 echo "gcc is not installed!"

73 yum install -y gcc

74 fi

75 gcc -o 6 6.c

76 read -p "please input a number you want:" number

77 ./6 $number

78 exit 0

79 elif [ $choice == "quit" ]

80 then

81 exit 0

82 else

83 echo "you don't choose a correct choice!"

84 fi

85 done

linux c语言乘法口诀,shell 脚本实现乘法口诀表的两种方法——shell与C语言相关推荐

  1. Shell脚本中计算字符串长度的5种方法

    这篇文章主要介绍了Shell脚本中计算字符串长度的5种方法,来自于个人Shell脚本长期的开发经验,需要的朋友可以参考下 有时在Linux操作系统中需要计算某个字符串的长度,通过查询资料整理了下目前S ...

  2. linux系统安装teamview,在Ubuntu 18.04系统上安装TeamViewer的两种方法

    本文介绍在Ubuntu 18.04 LTS Bionic Beaver系统上安装TeamViewer的两种方法,第一种方法使用图形用户界面安装,第二种使用终端命令行安装,同时可以先参考在Ubuntu ...

  3. Linux命令发送Http的get或post请求(curl和wget两种方法)

     Http请求指的是客户端向服务器的请求消息,Http请求主要分为get或post两种,在Linux系统下可以用curl和wget命令来模拟Http的请求.下面就来介绍一下Linux系统如何模拟Htt ...

  4. linux命令发请求,Linux命令发送Http的get或post请求(curl和wget两种方法)

    Http请求指的是客户端向服务器的请求消息,Http请求主要分为get或post两种,在Linux系统下可以用curl和wget命令来模拟Http的请求.下面就来介绍一下Linux系统如何模拟Http ...

  5. 打印乘法口诀表的两种方法

    #include<stdio.h>/*通过一层for循环打印9*9乘法口诀表*/ int main(void) { for(int i=1,j=1;j<=9;i++) { print ...

  6. ios重签名shell脚本_IOS应用重签名(三种方法)

    终端命令(相关的一些指令) •$security find-identity -v -p codesigning列出钥匙串里可签名的证书 •$Codesign–fs"证书串"文件名 ...

  7. JavaScript js写九九乘法表(两种方法)

    方法一: 观察规律: 第一个数每行都是自增1. 我们发下第二个数都是从1开始,依次递增1,永远不大于前面的数. 前面数字每自增一次,后面数字自增一轮. 我们可以用双重for循环,外层初始值设为i,i从 ...

  8. python 九九乘法表 和 两种方法打印闪电标志

    ******************* 闪电标志 我们可以吧闪电以最中间一行为间隔分为三部分: 第一部分 最中间行以上一个直角三角形 第二部分 中间打印一行* 第三部分 中间行一下倒直角三角形 for ...

  9. js实现九九乘法表(两种方法)

    方法一: 观察规律: 第一个数每行都是自增1. 我们发下第二个数都是从1开始,依次递增1,永远不大于前面的数. 前面数字每自增一次,后面数字自增一轮. 我们可以用双重for循环,外层初始值设为i,i从 ...

最新文章

  1. ElasticSearch 2 (38) - 信息聚合系列之结束与思考
  2. 计算机count的功能是,全国计算机二级Access每日练习4
  3. windows下 sqlplus / as sysdba 报ora-12560的终极解决方法
  4. Java06-day06【Debug(概述、操作流程)、Debug查看偶数求和、Debug查看方法调用】
  5. 动态规划 53:Maximum Subarray,152:Maximum Subarray,266. Palindrome Permutation 回文全排列...
  6. oracle dbms_profiler,Oracle数据库中使用DBMS_PROFILER进行调优
  7. 讯飞输入法有没有Linux,Debian testing 安装讯飞输入法 - Linux系统与应用 - LinuxApp - 水木社区...
  8. zookeeper基础整理
  9. dna编码库_Nature |DNA元件百科全书(ENCODE)计划, 全面注释基因组元件
  10. 华为获 25 份 5G 合同;ofo 退款用户数超千万;贾跃亭躲豪宅拒收法律文书 | 极客头条...
  11. 趋势安全软件卸载:如何不需要密码或忘记密码卸载Trend Micro OfficeScan Agent?
  12. java编写自动化脚本_java+selenium自动化脚本编写
  13. 专升本高数第一章试题_专升本高数复习资料,精品系列
  14. 《醉翁亭记》古文鉴赏
  15. 面试:后端程序员面试题
  16. 车牌识别matlab实现(蓝色车牌和新能源车牌)
  17. 经典算法之左边界二分查找法(俗称左边界二分搜索法)
  18. 从哪些维度评判代码质量的好坏?如何具备写出高质量代码的能力?
  19. SEO优化:6个方法提升网站排名
  20. PMP备考错题集-模拟三

热门文章

  1. tableau必知必会之学做时尚的环状条形图(跑道图)
  2. 数据中台(四)数栈,企业级一站式数据中台PaaS
  3. Matlab并行运算
  4. 数据挖掘十大算法--Apriori算法
  5. html转图片_jupyter lab 笔记添加图片的方法汇总
  6. redis高可用原理及demo
  7. 经济学人使用Golang构建微服务历程回顾
  8. solr/lucence和关系数据库的混合使用
  9. schedule() 和 scheduleAtFixedRate() 的区别--转载
  10. mysql 变量is null 和 not exists区别