C语言中求两数相乘的程序

C语言中求两数相乘的程序,第1张

思路:double类型的范围:

-1.7*10(-308)~1.7*10(308),如果两个数的乘积不超过这样的精度,可以直接使用*符号进行运算。

参考代码:

#include<stdio.h>

int main()

{

double a,b

scanf("%lf%lf",&a,&b)

printf("%.2lf",a*b)//保留两位小数

return 0

}

/*

运行结果:

1205 5985

7211925.00

*/

本文所用思想是在9行9列方形乘法表的基础上“切割”得到左上、右上、左下、右下四种形态的九九乘法表。

最后使用switch-case语句对四种形态的九九乘法表进行整理以完善程序。首先,我们嵌套两个for循环语句得到一个方形的九九乘法表。得到的九九乘法表方形块如下。下一步,我们对方形块进行“切割”,这里我们以左下乘法表为示例。

由图我们可以添加两条约束:1.左下乘法表打印斜边的边界条件为i等于j(本文打印顺序为i×j),即当i>=j时,乘法式显示,当i2.换行条件为j==9;同理,我们可以得到右上乘法表。但是当我们想要切割左上和右下乘法表时,可以发现缺少了部分乘法公式。

九九乘法表共9行9列,重点考察for循环的掌握情况。下面给出了输出完整乘法表、右上、右下、左上、左下乘法表的代码。

1、【代码一】输出完整的三角形

#include <stdio.h>

int main() {

int i,j  // i, j控制行或列

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

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

// %2d 控制宽度为两个字符,且右对齐;如果改为 %-2d 则为左对齐

// \t为tab缩进

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

printf("\n")

}

return 0

}

2、【代码二】输出右上三角形和左上三角形:

#include <stdio.h>

int main() {

int i,j

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

for(j=1j<=9j++){

if(j<i)

//打印八个空格,去掉空格就是左上三角形

printf("        ")

else

printf("%d*%d=%2d  ",i,j,i*j)

}

printf("\n")

}

return 0

}

3、【代码三】输出右下和左下三角形:

#include <stdio.h>

int main(){

int i,j,n

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

// 将下面的for循环注释掉,就输出左下三角形

for(n=1n<=9-in++)

printf("        ")

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

printf("%d*%d=%2d  ",i,j,i*j)

printf("\n")

}

return 0

}


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存