修改积分值

时间:2015-04-28 04:57:41

标签: c visual-studio

我正在为C语言提供一个基本的入门课程。我得到了整个程序的功能,但它没有产生所需的输出。

任务是编写一个程序,要求用户输入一个整数值并修改输入,以便1s和100s位置具有相同的数字,无论值是什么值。

例如:

  

1234将被修改为1434

     

1969年将修改为1969年

     

2025将修改为2525

由于某种原因,程序选择较小的值来修改用户输入,而不是取较大的1和100位值。

  

1234 - > 1232

     

2025 - > 2020

     

1962年 - > 1262

关于可能出错的任何提示或想法?

#include <stdio.h>
int main() {

    int myValue;
    int tmp;
    int oneDigit;
    int hundredDigit;
    int larger;
    int smaller;
    int factor;

    printf("\nEnter an int: ");
    scanf("%d", &myValue);

    // Getting absolute value
    tmp = (myValue < 0) ? -myValue : myValue;

    // Extracting digits
    oneDigit = tmp % 10;
    hundredDigit = (tmp / 100) % 10;

    // Grabbing larger and smaller integer
    larger = (oneDigit > hundredDigit) ? oneDigit : hundredDigit;
    smaller = (oneDigit > hundredDigit) ? hundredDigit : oneDigit;

    // Checking what to factor by
    factor = (oneDigit > hundredDigit) ? 1 : 100;

    // New modified digit
    tmp = tmp - (larger - smaller) * factor;

    printf("\nThe modified value of %d is %d\n", myValue, tmp);

    return 0;

}

3 个答案:

答案 0 :(得分:1)

  1. 您需要在此声明中反转该因素。

    factor = (oneDigit > hundredDigit) ? 1 : 100;
    

    使用

    factor = (oneDigit > hundredDigit) ? 100 : 1;
    
  2. 您需要将(larger - smaller) * factor;添加到tmp,而不是减去。

    而不是:

    tmp = tmp - (larger - smaller) * factor;
    

    使用:

    tmp = tmp + (larger - smaller) * factor;
    

答案 1 :(得分:1)

代码行:

// New modified digit
tmp = tmp - (larger - smaller) * factor;

没有任何意义。

在任何一种情况下(oneDigit较大或hundredDigit较大),您需要某些值添加到tmp,而不是减去

此外,您已将该因子计算为反向。 必须是:

factor = (oneDigit > hundredDigit) ? 100 : 1;

答案 2 :(得分:1)

改变这个:

pwdTextField.hidden = true

// Start the activity indicator
activityIndicator.startAnimating()    

// How can I make this happen before the actual request?    

let token = pwdTextField.text.trim()
let requestURL = "https://myapi.com/authenticate/"

manager.POST(requestURL, parameters: [ "code" : token ], success: { (operation: AFHTTPRequestOperation!, responseObject: AnyObject!) in
       NSLog("Success! Response is \(responseObject.description)")
}, failure: { (operation: AFHTTPRequestOperation!, error: NSError!) in
       println("Failure! Error is: \(error.localizedDescription)")
       self.displayLoginAttempErrorAlert()
}).waitUntilFinished()

factor = (oneDigit > hundredDigit) ? 1 : 100;

并且还要改变

factor = (oneDigit > hundredDigit) ? 100 : 1;

 tmp = tmp -(larger - smaller) * factor;