-4
我开始编写一个程序,生成一个数组,遵循用户输入的元素数量,第一个元素和比率的几何级数。出于某种原因,它的回归非常令人沮丧。返回不可能的值的代码
下面的代码:
#include <stdio.h>
void GenProg(float input[], int n, float first, float ratio, float *last){
for (int i = 1; i < n; i++){
first = input[0];
input[i] = input[i - 1] * ratio;
}
*last = input[n - 1];
for (int i = 0; i < n; i++){
printf("Element %i is: %f. \n", i + 1, input[i]);
}
}
int main(){
float arr[25];
float a;
int n;
printf("Number of elements: ");
scanf("%i", &n);
printf("\n");
float first;
printf("First element: ");
scanf("%f", &first);
printf("\n");
printf("Ratio: ");
float ratio;
scanf("%f", &ratio);
GenProg(arr, n, first, ratio, &a);
printf("Last element: %f.\n", a);
}
感谢。
对于n = 5; first = 1; ratio = 2
我得到:
`Element 1: -107374176.000000`
`Element 2: -214748352.000000`
`Element 3: -429496704.000000`
`Element 4: -858991408.000000`
`Element 5: -1717986816.000000`
不要让我们猜 - 告诉我们究竟是什么问题。 *令人沮丧的数字*根本不是描述性的。 – Caleb 2015-02-10 17:24:24
调试器显示你正在发生什么? – pm100 2015-02-10 17:24:58
我猜41或43是令人沮丧的数字,因为他们*不是*答案 – pm100 2015-02-10 17:25:22