你好,在編碼方面還算新穎,我有這個程序每次運行程序都要加一個數字,它計算1 + 2 + 3 + ......(n-1 )+ n 以及一個將該值與(n *(n + 1))/ 2進行比較的if語句,然後顯示相同或不同的消息。C,同時每次添加編號
#include <stdio.h>
int main(void)
{
int value = 0, n_data_value, count = 0, second_value;
printf("Enter a number\n");
scanf("%lf", &n_data_value);
while (count < 10) {
value = (1 + value) + (n_data_value - 1) + n_data_value;
printf("%f\n", value);
second_value = (n_data_value * (n_data_value + 1))/2;
printf("The number is %f\n", value);
count = count + 1;
if(value = second_value){
printf("value = %f and second_value = %f", value, second_value);
}
}
return 0;
}
當我運行它,我只是得到這個
輸入號碼3
0.000000
數量爲0.000000
0.000000
數爲0.000000
0.000000
數0.000000
0.000000
數爲0.000000
0.000000
數爲0.000000
0.000000
數0.000000
0.000000
數0.000000
0.000000
數爲0.000000
0.000000
數爲0.000000
0.000000
數量爲0.000000
當你讓你的程序工作並修復你的循環邏輯和數學,你會發現在'N = 65535'後公式和循環值之間存在差異。見http://stackoverflow.com/questions/12923523/how-to-write-program-that-takes-a-number-as-its-argument-and-return-the-sum-of-1/12924209#12924209 – paddy