1005: 整数幂
题目描述
输入3个整数,输出它们的1次幂、2次幂和3次幂。
输入
输入3整数,用空格隔开。
输出
输出3行,每行3个整数,分别是它们的1次幂、2次幂和3次幂,每个整数占9列,不足9列左对齐。
题目难度本身不大,但因为涉及到左对齐,很容易做错。左/右对齐是多列数字,通过规定数字的长度,保证同一列数字所占长度固定,以达到对齐的目的。需要注意的,题目中间要求每个数字占9列,那数字与数字之间就不需要再添加空格。
c语言中左右对齐可以由printf函数实现,printf("%-8d",100),就可以将100占8位左对齐,printf("%8d", 100),就可以将100占8位右对齐。
题解如下:
#include <stdio.h>
int main()
{
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
printf("%-9d%-9d%-9d\n", a, a*a, a*a*a);
printf("%-9d%-9d%-9d\n", b, b*b, b*b*b);
printf("%-9d%-9d%-9d\n", c, c*c, c*c*c);
}
printf格式化打印小数也是要重点掌握的,在1008~1014这些题都要涉及到。
f格式:用来输出实数(包括单、双精度),以小数形式输出。有以下几种用法:
- %f:不指定宽度,整数部分全部输出并输出6位小数。
- %m.nf:输出共占m列,其中有n位小数,如数值宽度小于m左端补空格。
- %-m.nf:输出共占n列,其中有n位小数,如数值宽度小于m右端补空格。
#include <stdio.h>
int main()
{
// 保留2位小数
printf("%.2f\n", 12.345);
}
网友评论