我对C很新,所以我的问题似乎非常初步,对不起!我想在C中创建一个具有N行(在N = 100下面的代码中)和1列的二维矩阵,通过将一个常量加到每个元素(基于它的索引)来制作下一个元素。这是我尝试的代码,但它不起作用:
#include<stdio.h>
int main()
{
float a[100];
int i;
for (i = 0; i < 100; i++)
{
a[i] = 3.08e-7+(i-1)*0.9e-7;
printf("%d\n", a[i]);
}
return 0;
}
如果有人能给我一个提示,我将非常感激。
答案 0 :(得分:0)
您使用了错误的格式说明符。使用%f
代替%d
(d仅用于打印整数值)。
答案 1 :(得分:0)
printf("%f\n", a[i]);
即使你在a[i]
中有浮动值,你打印的是你想要的整数值,也可以使用%f
打印浮点数。
答案 2 :(得分:0)
您唯一需要改变的是printf语句。您使用了错误的&#39;占位符&#39;。另外我会添加.10
,以便您从您的号码中看到更多内容:
#include<stdio.h>
int main() {
double a[100];
int i;
for (i = 0; i < 100; i++) {
a[i] = 3.08e-7+(i-1)*0.9e-7;
printf("%.10lf\n", a[i]);
}
return 0;
}
答案 3 :(得分:0)
我假设你不想在循环的第一次迭代中乘以-1。请尝试以下方法:
#include<stdio.h>
int main()
{
float a[100];
int i;
for (i = 1; i <= 100; i++)
{
a[i-1] = 3.08e-7 + i * 0.9e-7;
printf("%f\n", a[i-1]);
}
return 0;
}