C程序插值问题

[复制链接]
查看11 | 回复1 | 2008-12-6 13:27:47 | 显示全部楼层 |阅读模式
main()
{int i,j,n,*p,a[11]={1,4,6,9,13,16,19,28,40,100};
p=a;
printf("input n:");
scanf("%d",&n);
if(n=0;i--)
*(p+i+1)=*(p+i);
*p=n;
}
else if(n>=*(p+9)) *(p+10)=n;
else
for(i=0;i=a&∋j--)

*(p+j+1)=*(p+j);

*(p+i+1)=n;
}
for(i=0;i=0;i--) *(p+i+1)=*(p+i); *p=n; } else if(n>=*(p+9)) *(p+10)=n; else {for(i=0;i=a&∋j--) ...
回复

使用道具 举报

千问 | 2008-12-6 13:27:47 | 显示全部楼层
在if(n>=a&&n<=a[i+1]) 下面加一句break;就可以了。 代码写的太乱,像if,for,这种语句,相关的就算只有一句最好也用{}括起来。尤其还有嵌套。从你的补充来看,好像没有理解break;语句的作用。break;可以跳出循环和switch分支结构,但不是跳出if语句块,所以加了break;之后跳出的是if上面...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行