分别使用Java和Shell来打印乘法表
Java:
public static void main(String[] args){
for(int i=1;i<=9;i++){
for(int j =1;j<=i;j++){
System.out.print(j+"*"+i+"="+i*j+" ");
}
System.out.println();
}
}
结果:
Shell:
#!/bin/bash
for i in $(seq 9)
do
for j in $(seq $i)
do
echo -n "$j*$i=$[$i * $j] "
done
echo
done
结果:
两种实现方式完全一样都比较简单,最后再利用Shell中的”三剑客“之一awk工具来实现一下,这个工具在shell中要论打印的功能的话,awk是首屈一指的。awk实现:
awk '{for(i=1;i<=9;i++){for(j=1;j<=i;j++){printf "%d*%d=%d ",j,i,j*i}printf "\n"}}'
结果:
因为awk需要读取标准输入,所以前面加了一个echo " " | ,就是通过管道符传一个空的标准输入进去,对程序运行没有影响。如果不加也可以,需要两次回车才能出结果,其中第一次回车就是读取标准输入。
菜鸟手书,欢迎指正!