共回答了16个问题采纳率:87.5% 举报
1年前 追问
建议你不要开个数组存n
也就是可以把输入n和输出都写到while循环里
因为输入一个就立即输出对应的结果在编译器看来跟输入结束再输出所有结果是一样的
而且前者占用内存更小
再有就是检查你的sort函数是否有问题,递归算法是否周全(我检查了一遍,应该没问题)
实在不行我帮你写一份
祝学业顺利
我帮你改了改
你再试试
#include
#include
int count=0;
void sort(int n){
if(n==0){count++;return;}
if(n-1<0) return;
else sort(n-1);
if(n-2<0) return;
else sort(n-2);
if(n-3<0) return;
else sort(n-3);
}
int main(){
int n[10000];
int i=0,j;
scanf("%d",&n[i]);
while(1)
{
if(n[i]==0)break;
i++;
scanf("%d",&n[i]);
}
for(j=0;j{
count=0;
sort(n[j]);
printf("%dn",count);
}
return 0;
}
1年前5个回答
1年前2个回答
1年前1个回答
1年前1个回答
1年前1个回答
1年前1个回答
1年前1个回答
1年前1个回答
1年前2个回答
1年前1个回答
1年前1个回答
1年前5个回答
1年前1个回答
1年前1个回答
你能帮帮他们吗