我想扩展我现在正在工作的程序的一部分的功能..
现在我的代码在屏幕上打印了这个:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
...
1999
但我想这样做:将十位放在文本中,没有数字。此外,还有十个。
1
2
3
4
5
6
7
8
9
ten 1
11
12
13
14
15
16
17
18
19
ten 2
21
22
...
1999
但是对于我所知道的 C 函数,我不知道该怎么做。 可以在 for 中使用很多 if 来做到这一点,但不希望代码如此广泛。
第一个输出的代码是这样的:
#include<stdio.h>
int main(void) {
int i, j=2000;
for(i=1;i<=j;i++)
{
printf("%d\n", i);
}
return 0;
}
非常简单,我想保留它。
简单来说:所有以 0 结尾的数字都应该打印“十 x”,而不是数字...
谢谢。
最佳答案
要找出一个数字 n
能被十整除,你使用:
if ((n % 10) == 0) ...
这是在 n
时返回余数的模运算符除以十 - 当你这样做时,可被十整除的数字的余数为零,所有其他数字的余数为一到九(至少在你工作的非负空间中 - 它负数可能不同,但我不打算检查,因为它与这里无关)。
要找到您需要用 "ten"
输出的数字字符串,只需除以 n
十点。
所以你的打印语句会变成这样:
if ((i % 10) == 0)
printf ("ten %d\n", i / 10);
else
printf ("%d\n", i);
进行该更改会得到输出:
1
2
3
4
5
6
7
8
9
ten 1
11
12
:
1988
1989
ten 199
1991
1992
1993
1994
1995
1996
1997
1998
1999
ten 200
这似乎是您所追求的。
另外一点,尽管有代码,您的输出似乎停止在 1999 年而不是 2000 年。如果那是您真正想要的,请更改 j
为 1999 或更改 for
使用语句 <
而不是 <=
.
关于c - 在屏幕上打印特定的数字字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9969676/