【问题标题】:extracting int into array from long long in c从c中的long long提取int到数组中
【发布时间】:2014-09-10 23:55:19
【问题描述】:

我是编程新手,对未定义长度的数组没有经验。 我想从用户输入生成的 long long 中提取特定数字(因为我没有使用 char 这样做)。 对我来说,最好的结果是它最终会出现在一个数组中,每个数字都有自己的 int,这样我就可以运行循环并用它们做数学运算。

假设我想从右边获取第 20 位,用户输入 GetLongLong 的位数未知,这就是我的代码的样子:

int spec20 = (digits / 10000000000000000000) % 10;

我怎样才能使这更简单并使用数组来存储特定的数字?

【问题讨论】:

    标签: c arrays int long-integer


    【解决方案1】:

    你可以这样做:

    char str[100]; // your number should most probably fit
    sprintf(str,"%lld",digits);
    

    然后str 将包含您的数字的字符串表示形式,并且您可以像这样找到右边的第 20 个元素(从 1 开始计数)(肯定不是唯一的方法)。

    int d_len = strlen(str);
    int the_20th_pos = (d_len>20? d_len-20: -1); // take care of numbers less than 20 digits
    int the_20th = (int)(the_20th_pos<0? 0: str[d_len-the_20th_pos]-'0'); 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-08
      • 1970-01-01
      • 1970-01-01
      • 2010-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多