九九乘法表共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
}
严格来讲,你的代码是错误的,用int的b接收double型的a的计算结果,是不可以的,即使结果是整数。结果当然也会出现误差。正确的应该是:
double a=10.3845
double b
b=10000*a
printf("%lf",b)
补充:把上面 printf("%lf",b)改为printf("%.0lf",b)就能使后面无小数。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)