令人伤透脑筋的java 输出控制符到底怎么用

Python07

令人伤透脑筋的java 输出控制符到底怎么用,第1张

格式控制符:

%---格式说明引导符。

----指定左对齐输出。

0---指定空位填零。

m.n --- 指定输出域宽度及精度。

l.h---输出长度的修正。

格式字符:

%i---输出一个整型数;

%d---输出一个整型数;

%f---输出一个浮点数;

%e---输出一个浮点数,科学计数法;

%g---输出一个浮点数,当指数小于-4或者大于5,则运用科学计数法,否则正常显示浮点数;

%c---输出一个字符;

%o---输出一个八进制的整型数,前面不带0;

%#o---输出一个八进制的整型数,前面带0;

%x---输出一个十六进制的整型数,前面不带0x;

%#x---输出一个十六进制的整型数,前面带0x, 如果x大写,则显示的时候也是大写。

%u---不带符号的十进制整数。

%%---输出一个%.

转义字符:

\a:蜂鸣,响铃

\b:回退:向后退一格

\f:换页

\n:换行,光标到下行行首

\r:回车,光标到本行行首

\t:水平制表

\v:垂直制表

\:反斜杠

\':单引号

\":双引号

\?:问号

\ddd:三位八进制

\xhh:二位十六进制

\0:空字符(NULL),什么都不做

printf的格式控制的完整格式:

% - 0 m.n l或h 格式字符

下面对组成格式说明的各项加以说明:

①%:表示格式说明的起始符号,不可缺少。

②-:有-表示左对齐输出,如省略表示右对齐输出。

③0:有0表示指定空位填0,如省略表示指定空位不填。

④m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。N指精度。用于说明输出的实型数的小数位数。为指定n时,隐含的精度为n=6位。

⑤l或h:l对整型指long型,对实型指double型。h用于将整型的格式字符修正为short型。

% 在Java中是取余数的意思。

上述条件表达式的字面意思是

m除于x 的语数 如果等于0 表达式结果是真 否则为假。

可以理解为 如果 m能被x 整除 为真 否则为假。

给定一个完全由小写英文字母组成的字符串等差递增序列,该序列中的每个字符串的长度固定为 L,从 L 个 a 开始,以 1 为步长递增。例如当 L 为 3 时,序列为 { aaa, aab, aac, …, aaz, aba, abb, …, abz, …, zzz }。这个序列的倒数第27个字符串就是 zyz。对于任意给定的 L,本题要求你给出对应序列倒数第 N 个字符串。

输入格式:

输入在一行中给出两个正整数 L(2 ≤ L ≤ 6)和 N(≤10​5​​)。

输出格式:

在一行中输出对应序列倒数第 N 个字符串。题目保证这个字符串是存在的。

输入样例:

3 7417

1.

输出样例:

pat

1.

上代码!!!

#include<stdio.h>

#include<math.h>

int main()

{/*

我们可以把a-z看成26进制,0表示a,25表示z。(类比,2进制每一位最多为1,16进制每位最多到15)

L位,那么可以表示26^L个数。(类比,3位2进制,可以表示0到7,一共8个数)

那么L位能表示0-26^L-1,求倒数第n个数,也就是求数字26^L-1-n+1=26^L-n

(26^L-n是第26^L-n+1个数字)

令p=26^L-n,然后把10进制转为26进制就行(就是不断%26,/26)(0代表a,25代表z)

然后输出结果,有可能位数L很大,所以在不够L的位上补'a'

*/

int L,N,y //L控制多少个字母组成 N控制输出倒数第N个

int i,x // i控制循环次数 x

scanf("%d",&L)

scanf("%d",&N)

N=N-1

for(i=1i<=Li++)

{

y=N/(pow(26,L-i)) //pow(2,3) 即2的3次方 这里是26的L-i次方

printf("%c",'z'-y)

x=pow(26,L-i)

N=N%x

}

return 0

}

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

14.

15.

16.

17.

18.

19.

20.

21.

22.

23.

24.

25.

26.

27.

28.

29.

30.

31.

32.

33.

34.

35.

36.

37.

38.

39.

40.

41.

42.

43.