
C语言问题 错误 noname.c 39: 符合指令缺少} 在main函数中
#include<stdio.h>#defineDIGITMAX16#defineTotal28000int*start;voidgetsum(intsum,introw...
#include<stdio.h>
#define DIGITMAX 16
#define Total 28000
int *start;
void getsum(int sum,int row,int *p)
{
int i,k,temp,*ptm;
if(sum>Total)return;
for(i=row;i<DIGITMAX;i++)
{
temp=sum+*(start+i);
if(temp==Total)
{
*p=*(start+i);
*(p+1)=-1;
printf("\n-----------\n");
for(ptm=start,k=0;k<20;k++,ptm++){
if(*ptm==-1)break;
printf("%d ",*ptm);
}
}
if(temp>Total)return;
*p=*(start+i);
getsum(temp,i+1,p+1);
}
}
main()
{
int num[16]={20706.6,12962.37,4030,2913.73,6858.65,11400,1536,15807.25,
5246.81,7017.5,2389.38,4270,5708.5,17510.05,2703.8,19765.43};
int *p,sum;
start=num,p=start,sum=0;
printf("1.=%d",*start);
getsum(sum,0,p);
getche();
return 0; 展开
#define DIGITMAX 16
#define Total 28000
int *start;
void getsum(int sum,int row,int *p)
{
int i,k,temp,*ptm;
if(sum>Total)return;
for(i=row;i<DIGITMAX;i++)
{
temp=sum+*(start+i);
if(temp==Total)
{
*p=*(start+i);
*(p+1)=-1;
printf("\n-----------\n");
for(ptm=start,k=0;k<20;k++,ptm++){
if(*ptm==-1)break;
printf("%d ",*ptm);
}
}
if(temp>Total)return;
*p=*(start+i);
getsum(temp,i+1,p+1);
}
}
main()
{
int num[16]={20706.6,12962.37,4030,2913.73,6858.65,11400,1536,15807.25,
5246.81,7017.5,2389.38,4270,5708.5,17510.05,2703.8,19765.43};
int *p,sum;
start=num,p=start,sum=0;
printf("1.=%d",*start);
getsum(sum,0,p);
getche();
return 0; 展开
2个回答
展开全部
你main函数少右括号
main()
{
int num[16]={20706.6,12962.37,4030,2913.73,6858.65,11400,1536,15807.25,
5246.81,7017.5,2389.38,4270,5708.5,17510.05,2703.8,19765.43};
int *p,sum;
start=num,p=start,sum=0;
printf("1.=%d",*start);
getsum(sum,0,p);
getche();
return 0;
}
展开全部
最后一行,return 0; 下面少了个}, 加上去就好了
追问
我主要是想在20706.6,12962.37,4030,2913.73,6858.65,11400,1536,15807.25,
5246.81,7017.5,2389.38,4270,5708.5,17510.05,2703.8,19765.43这些数字中,找出那么3或4或5个相加正好等于28000的,老兄能不能帮帮忙
追答
一个也没有
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询