1. 程式人生 > >列印顯示手機剩餘電量

列印顯示手機剩餘電量

華為機試題,好吧,我都沒收到上機通知。題目如下:

程式碼如下

void PrintArray(char a[][12],int size)
{
	int i,j;
	for (i=size-1;i>=0;i--)
	{
		for (j=0;j<size;j++)
		{	
			cout<<a[i][j];
		}
		cout<<endl;
	}
	
}

void PrintRemainingPower(char a[][12],int n)
{
	if(n<0 || n>100)
		return;
	int i,j;
	int remin=n%10; //餘數
	int div=n/10;   //除數
	if (div!=0)
	{
		for (i=1;i<=div;i++)
		{
			for (j=1;j<=10;j++)
			{
				a[i][j]='+';
			}
		}
	}
	if (remin!=0)
	{
		for (j=1;j<=remin;j++)
		{
			a[1+div][j]='+';
		}
	}
	cout<<"剩餘電量"<<n<<"%如下:"<<endl;
	PrintArray(a,12);
}

void main()
{
	const int size=12;
	char a[size][size];//由下往上存貯電量,所以輸出時陣列a倒著輸出
	int i=0,j=0;
	//四個角初始化為'+'
	a[0][0]='+';
	a[0][size-1]='+';
	a[size-1][0]='+';
	a[size-1][size-1]='+';

	//第一列和最後一列初始化為'|'
	for (i=1;i<size-1;i++)
	{
		a[i][0]='|';
		a[i][size-1]='|';
	}

	for (i=0;i<size;i++)
	{
		for (j=1;j<size-1;j++)
		{
			a[i][j]='-';
		}
	}
	PrintArray(a,size);
	cout<<"以上為初始化!"<<endl;
	cout<<"========================================="<<endl;
	PrintRemainingPower(a,66);
}