1006 换个格式输出整数 (15分)
让我们用字母 B 来表示“百”、字母 S 表示“十”,用 12…n 来表示不为零的个位数字 n(<10),换个格式来输出任一个不超过 3 位的正整数。例如 234 应该被输出为 BBSSS1234,因为它有 2 个“百”、3 个“十”、以及个位的 4。
输入格式:
每个测试输入包含 1 个测试用例,给出正整数 n(<1000)。
输出格式:
每个测试用例的输出占一行,用规定的格式输出 n。
输入样例 1:
234
输出样例 1:
BBSSS1234
输入样例 2:
23
输出样例 2:
SS123
这道题主要是提醒我了一些细节语法知识点:
#include <stdio.h>
int main()
{
int n,a=0,b=0,c=0,i;
scanf("%d",&n);
c=n%10;
b=(n/10)%10;
a=n/100;
while(a–) printf(“B”); //执行过程为:先检查a是否为0,然后a=a-1(无论条件是否成立,这步均做)
while(b–) printf(“S”);
for(i=1;i<=c;i++) printf("%d",i);
return 0;
}
总结:①while(a–) 表示当a不为0时循环
执行过程为:先检查a是否为0,然后a=a-1(无论条件是否成立,这步均做)
所以,当这个循环完整结束时,a=-1
②while(a) 表示当a!=0时执行循环,其等价于while(a!=0)。
if(a) 同上。
while(!a) 表示当a=0时执行循环,其等价于while(a==0)。
if(!a) 同上。
if(j%2)continue; 表示j%2!=0时执行continue;