4_29练习

练习目录

  • 练习
    • 1. 使用for循环打印上三角九九乘法表
    • 2. 位运算
    • 2. 终端输入行数,打印金字塔

练习

1. 使用for循环打印上三角九九乘法表

#include 
int main(void)
{
	int i = 0;//外循环
	int z = 0;//内循环
	for(i=8;i>=0;i--)
	{
		for(z=0;z<i+1;z++)
		{
			printf("%d*%d=%-3d",z+1,i+1,(i+1)*(z+1));
		}
		printf("\r\n");
	}
	return 0;
}
输出>>
1*9=9  2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 
1*8=8  2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 
1*7=7  2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 
1*6=6  2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 
1*5=5  2*5=10 3*5=15 4*5=20 5*5=25 
1*4=4  2*4=8  3*4=12 4*4=16 
1*3=3  2*3=6  3*3=9  
1*2=2  2*2=4  
1*1=1  

2. 位运算

1. 将data第[4]位清0,保持其他位不变
2. 将data第[7]位置1,保持其他位不变
3. 将data第[31:28]位清0,保持其他位不变
4. 将data第[7:4]位置1,保持其他位不变
5. 将data第[15:11]位修改位10101,保持其他位不变
int data = 0;
int a = 1;
1. data&=~(1<<4);
2. data|=(1<<7);
3. data&=~(0xf<<28);
4. data|=(0xf<<4);
5. data|=(0x15<<11);

2. 终端输入行数,打印金字塔

#include 
int main(void)
{
	int i = 0;//外循环
	int len = 0;//行数
	int z = 0;//内循环1
	int j = 0;//内循环2
	scanf("%d",&len);
	for(i=0;i<len;i++)
	{
		for(j=0;j<(len-i-1);j++)
		{
			printf(" ");
		}
		for(z=0;z<(i*2-1);z++)
		{
			printf("*");
		}
		printf("\r\n");
	}
	return 0;
}
输入<< 6
输出>>
    *
   ***
  *****
 *******
*********

你可能感兴趣的:(c++,c语言,算法)