在C中制作带有for循环的矩阵

时间:2014-12-12 09:54:45

标签: c for-loop matrix

我对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;
}   

如果有人能给我一个提示,我将非常感激。

4 个答案:

答案 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;
}