- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想读取一个数字并将其存储在一个数组中,例如,
号码:0600
存储后:
array[0] = 0,
array[1] = 6,
array[2] = 0,
array[3] = 0
这些是我的功能:
int main ()
{
int comb[20];
printf ("Combination: ");
scanf ("%d", &seq);
read_sequence (comb, seq);
//Just testing
printf ("%d\n", comb[3]);
printf ("%d\n", comb[2]);
printf ("%d\n", comb[1]);
printf ("%d\n", comb[0]);
for (i = 0; i < 6; i++)
{
printf ("%d ", comb[i]);
}
}
int number_of_digits (int n)
{
if (n < 10) return 1;
if (n < 100) return 2;
if (n < 1000) return 3;
if (n < 10000) return 4;
if (n < 100000) return 5;
if (n < 1000000) return 6;
if (n < 10000000) return 7;
if (n < 100000000) return 8;
if (n < 1000000000) return 9;
return 10;
}
int power (int b, int a) // I don't want to use pow()
{
int i = 0, result = 1;
for (i = 0; i < a; i++)
{
result = result * b;
}
return result;
}
void read_sequence (int comb[], int seq)
{
int n = 0, i = 0, k = 0;
n = number_of_digits (seq);
n = n - 1;
for (i = n; i >= 0; i--)
{
if (i != n) comb[i] = (seq / power (10, k)) % 10;
else if (i == n) comb[i] = (seq % 10);
k++;
}
}
代码在使用不以零开头的数字时工作正常,但出于某种我看不到的原因,它没有将我的 int 的第一个零存储到数组中,这就是它显示的内容:
组合:0900
1966227384
0
0
9
9 0 0 1966227384 6422252 1965910434
与其他号码:
组合:9876
6
7
8
9
9 8 7 6 6422252 1965910434
有人可以帮我吗?
最佳答案
使用 scanf("%d", ...)
不保留文本输入 - 仅保留数值。不会“记住”前导零。
使用 fgets()
读取该行,然后解析它的数字。
#define N 20
int main (void) {
int comb[N];
printf ("Combination: ");
char buf[N*2 + 2]; // use a generous read buffer
if (fgets(buf, sizeof buf, stdin) == NULL) return -1;
char p = buf;
if (*p == '-' || *p == '+') p++;
int i;
for (i = 0; i < N; i++) {
if (*p < '0' || *p > '9') {
break;
}
comb[i] = *p - '0';
}
for (int j = 0; j < i; j++) {
printf ("%d ", comb[j]);
}
return 0;
}
要查找 int
中的数字,只需重复除以 10。
int number_of_digits(int n) {
int count = 0;
do {
count++;
n /= 10;
} while (n);
return count;
}
关于c - 读取以零开头的 int 并将其存储到 C 中的数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34234403/
2种参数:尺寸和价格。目前,我只能单击选择/突出显示尺寸列中的一个,也只能单击选择/突出显示价格列中的一个,而不会影响另一个列中的一个。 当我点击尺寸时,会添加一个 URL 参数“#size=4”。单
在css命名约定中,有什么原因,一些object最好以前缀o-和component开头> 以 c- 开头? 我知道 o- 代表 object 而 c- 代表 component,但为什么不呢?难道我们
这就很迷惑了,一下子,下面的代码就不行了。尝试让我的 Android 很好地显示网页已经显示的内容: HttpClient httpclient = new DefaultHttpClient();
我正在将我的网站发布到我无法控制的 IIS 服务器,我想从代码隐藏中了解它的 URL 是否以“http”或“https”开头。 首先,我在本地尝试了这两种解决方案,都返回了正确的值(“http”):
如果我运行: sbin/start-dfs.sh 然后它实际上并没有启动一个名称节点尽管打印: Starting namenodes on [0.0.0.0] 0.0.0.0: starting na
我正在开发一个包含一些数组的模块。现在我的数组包含: $omearray = array ( '#title' = 'title', 0 = array ( 'another array',
对于 PMD,我希望有一个规则来警告我那些以 my 开头的丑陋变量。 这意味着我必须接受所有不以my开头的变量。 所以,我需要一个正则表达式(re),其行为如下: re.match('myVar')
出于某种奇怪的原因,当我尝试使用 URLConnection 获取网页源时,我在输出中得到“null”。有人可以解释一下吗? 我的方法: public String getPageSource()
如何批量检查某个字符串(记录文本文件中的行)是否以特定单词开头? 我知道如何检查句子/行(字符串)中是否存在单词(子字符串),但我如何检查天气是否以这个词开头? 谢谢:) 最佳答案 这可以通过 FIN
我有一个列表,其中包含多个网址和一些字符串,例如#skipsideNav、#content。我正在从这些字符串中分离出 url if link.startswith('/'): local_u
我有以下 html 标记: 我想选择类 bubble bubble_white 和 bubble bubble_black。我正在考虑下面的代码,但它不起作用: $(".bubbl
我有一个用于文件名验证的正则表达式。在这里: /^[0-9a-zA-Z\^\&\'\@\{\}\[\]\,\$\=\!\-\#\(\)\.\%\+\~\_; ]+$/ 如何更改它以检查文件名不是以
我正在构建一个自动填充函数,它接受一个字符串输入并返回一个字符串建议列表。 Sequelize 的 iLike:query返回出现查询字符串的每个字符串。我想支持查询是前缀的字符串。例如当query=
我首先知道这可能是有史以来看起来最糟糕的正则表达式,但这里是。 我有这个正则表达式 (?:http://)?(?:www.)?youtu(?:be)?.(?:[a-z]){2,3}(?:[a-z/?=
尝试读取文件并根据行创建字典,跳过以#符号开头的行 文件示例: param1=val1 # here is comment 我的功能: def readFromFile(name): conf
我的程序正在读取文本文件并根据文本执行操作。但是文本的第一行是有问题的。显然它以“”开头。这弄乱了我的 startsWith() 检查。 为了理解这个问题,我使用了这段代码: System.ou
我的印象是变量名只能以字母和 _ 开头,但是在测试时,我还发现变量名可以以 $ 开头,如下所示: 代码 #include int main() { int myvar=13; int
我试过这个... Dim myMatches As String() = System.Text.RegularExpressions.Regex.Split(postRow.Item("Post")
开头
我正在使用CKEditor,默认情况下在内容的开头添加了。 即使将enterMode设置为,它也只会影响Enter键的作用,并保留开始的。 我遇到的问题是,如果文本以标记开头,它将围绕它包装,并且图像
我有一个List ,其中有五个字符串: abc def ghi jkl mno 我还有另一个字符串“pq”,我需要知道列表中的每个字符串是否都不以“pq”开头-我将如何使用LINQ(.NET 4.0)
我是一名优秀的程序员,十分优秀!