gpt4 book ai didi

c - 如何将数组转换为 long int 并返回数组

转载 作者:行者123 更新时间:2023-11-30 21:10:47 25 4
gpt4 key购买 nike

给你一个整数 N。找到这个数字中恰好除以 N 的数字。我的代码给我一条超时消息,即由于超时或超出 CPU 时间限制(核心转储)而终止。这是我的代码在此处输入代码

#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>

int main()
{

/* Enter your code here. Read input from STDIN. Print output to STDOUT */
int T, cnt, digits1, digits2, rem;
long long x;
char N[11];

scanf("%d", &T);

for (int i = 1; i <= T; i++)
{
scanf("%10c", N);
int x = (atoll(N));
digits1 = x;
while (digits1 != 0)
{
digits1 = x/10;
cnt++;
}
// char buffer[cnt + 1];
for(int j = 1; j <= cnt; j++)
{
rem = x % N[j];
if (rem == 0)
{
digits2++;
}
}
printf("%d", digits2);
}
return 0;
}

最佳答案

这看起来像家庭作业。

我会给一些指示。

将输入字符转换为实际的 intlong(或在您的情况下为 long long)后,请勿乱搞带有数字 - 特别是以 10 为基数。如果您打算做类似的事情,那么您也可以将其保留为 char 数组形式。不需要此位:

while (digits1 != 0)
{
digits1 = x/10;
cnt++;
}

您有未初始化的值。不要假设一切都会自动初始化为零。有时你会很幸运......但通常不会。

这看起来不错:

for(int j = 1; j <= cnt; j++)
{
rem = x % N[j]; //not quite right N is ASCII
if (rem == 0)
{
digits2++;
}
}

关于c - 如何将数组转换为 long int 并返回数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27663052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com