标题:数组问题 求解呀
只看楼主
堃周
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2018-4-6
结帖率:83.33%
已结贴  问题点数:15 回复次数:3 
数组问题 求解呀
#include <stdio.h>
#define MAX 10
double TriangleArea(int n,double a[MAX][MAX]);
int main()
{
    //double area;
    int i,j;
    int n=3;//点的个数
    //int n2=3;//数组的维数
    double a[MAX][MAX];
    for(i=1;i<=n;i++)
    {
        for(j=1;j<=n;j++)
        {
            if(j<3)
            {
                printf("please input the point\n");
                scanf("%d",&a[i][j]);
            }
            else
            {
                a[i][j]=2;//这里为什么赋值不进去呀        
            }
                    
        }//我想把这个数组的类型换为double但是要出错,大神帮我改一下呗,
        printf("\n");
    }
    for(i=1;i<=n;i++)
    {
        for(j=1;j<=n;j++)
        {
            printf("%d ",a[i][j]);
        }
        printf("\n");
    }
    //area=TriangleArea(n2,a);
    //printf("%f",area);
    return 0;
}
double TriangleArea(int n,double a[MAX][MAX])
{
    int p,i,j,k,x;
    double sum=0;
    double b[MAX][MAX];
    for(i=1;i<=n;i++)
    {
        for(j=1;j<=n-1;j++)
        {
            for(k=1;k<=n-1;k++)
            {
                if(j<i)
                    p=0;
                else
                    p=1;
                b[j][k]=a[j+p][k++];         
            }
        }
        if(i%2!=0)
            x=1;
        else
            x=(-1);   
        sum+=a[i][1]*x*TriangleArea(n-1,b);
        printf("%d\n",sum);        
    }
    return sum;
}
搜索更多相关主题的帖子: MAX double int for printf 
2018-05-30 07:27
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
得分:5 
n 的值是3,j 小于n,
所以if(j<3)
            {    printf("please input the point\n");
                scanf("%d",&a[i][j]);
            }
            else
                a[i][j]=2;//这里为什么赋值不进去呀     
这里    a[i][j]=2;是不成立的。
            
2018-05-30 09:21
lin5161678
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:45
帖 子:1136
专家分:3729
注 册:2011-12-3
得分:10 
    double a[MAX][MAX];

                scanf("%d",&a[i][j]);

scanf double 要用%lf

a[i][j]=2;//这里为什么赋值不进去呀        

什么叫做赋值不进去??a[i][3] 就是赋值为2了怎么了??


            printf("%d ",a[i][j]);

%f

https://zh.
2018-05-30 09:34
堃周
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2018-4-6
得分:0 
回复 2楼 自学的数学
为什么是不成立的,j也有等于n的时候呀,
for(j=1;j<=n;j++)
有j=n=3;
2018-05-30 10:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-487411-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019526 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved