在Linux系统下如何用shell编写99乘法表啊?请大家帮帮忙啊

在Linux系统下如何用shell编写99乘法表啊?请大家帮帮忙啊,第1张

#!/bin/sh

for (( i=1i<=9i++))

do

for (( j=1j<=ij++))

do

echo -n $j*$i=$((i*j))

[ $((i*j)) -lt 10 ] &&echo -n " " || echo -n " " #10以内两个空格,大于10一个空格,第一对引号里面两个空格(百度会合并空格)

done

echo

done

九九乘法表用C语言可以实现,两个循环就可以了。1、完整的九九乘法表程序#include <stdio.h>void main(){int i,jfor (i=1i<=9i++){for(j=1j<=9j++)printf("%d*%d=%2d ",i,j,i*j)printf("\n")}}2、右上三角形显示方式#include <stdio.h>void main(){int i,jfor (i=1i<=9i++){for (j=1j<=9j++){if(j<i)printf("")elseprintf("%d*%d=%2d ",i,j,i*j)}printf("\n")}}3、左下角显示方式#include <stdio.h>void main(){int i,jfor (i=1i<=9i++){for (j=1j<=ij++)printf("%d*%d=%2d ",i,j,i*j)printf("\n")}}

方法如下:

程序描述:i是循环控制变量, j是外层循环的循环控制变量。i为1时,满足外层 for循环的判断条件i小于等于9,进入另一个内层 for循环体,因为它是第一次进入内层循环,所以j的初始值为1,符合内层for循环的判断条件为j小于等于i,进入循环主体,输入i乘以j的值为:1乘以1等于1。

如果最后j的值仍符合内层for循环的判断条件,则再次执行计算与输出的工作,直到j的值大于i时,离开内层的for循环。这次i将加1变成2,这符合外层for循环的判断条件,继续执行内层for循环主体,直到i的值大于9时退出嵌套循环。

注意事项:

for循环只能控制它后面的一条语句。而在C语言中的分号也是一个语句:null语句。因此,如果在后面加上一个分号,那么for循环只能控制这个分号,下面大括号中的语句就不属于 for循环了。

要想使输出的乘法表看起来更美观,就需要在打印时将输出乘法口诀表作为右对齐输出。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8984297.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存