我无法得到我需要的输出。输出应为:
error =1
correction=0.1
如何修复我的代码以获取上面的输出。
int weight[3] = { 1, 0, 0 };
int x[3] = { 1, 0, 0 };
output = 1;
float error, d;
int sum = 0, i, n;
for (i = 0; i < 3; i++)
{
sum = sum + x[i] * weight[i];
}
error = output - n;
d = error * RATE;
printf("error= %i", error);
printf("correction= %i", d);
}
答案 0 :(得分:2)
这在我的环境中完美运作!
#include <stdio.h>
#include <stdlib.h>
int main()
{
int error = 1;
float correction = 0.1;
printf("error =%d\n", error);
printf("correction=%0.1f\n", correction);
}
答案 1 :(得分:0)
对于您的计算,您的程序给出的答案是非常正确的。所以检查给定的值。
对于您的值,答案是
error = output - n;//0 = 1 - 1
d = error * RATE;// 0 = 0 * 0.1