首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

为什么会自动退出,求解释解决方法

2012-03-09 
为什么会自动退出,求解释#include stdio.hint sum[100],s[100]int findmax (int code[],int num){int i

为什么会自动退出,求解释
#include <stdio.h>
int sum[100],s[100];
int findmax (int code[],int num)
{
int i, max = 0;
for(i = 1;i <= num;i++)
{
if(max < code[i])
max = code[i];
}
return max;
}
void find(int code[],int k,int num)
{
int i,j,max;
if(k > 30)
return ;
max = findmax(code,num);
for(i = 1;i <= max;i++)
{
for(j = 1;j <= num;j ++)
if(code[j] == i)
sum[i] ++;
}
j = 1;
for(i = 1;i <= max;i ++)
if(sum[i] != 0)
{
code[j] = sum[i];
code[j+1] = i;
j += 2;
}
s[k] = j;
printf("%d\n",j-1);
if(k <= 30)
find(code,k+1,j-1);

}
int in()
{
int code[100],i;
for(i = 0; i < 100;i++)
sum[i] = 0;
s[1] = 1;
code[1] = 1;
find(code,2,1);
return 1;
}
int main()
{
int k;
k = in();
printf("%d",k);
for(;;)
{
scanf("%d",&k);
if(k == 0)
break;
printf("%d\n",s[k]);
}
return 0;
}

[解决办法]
加getchar();
[解决办法]
哈哈 一般在运行后都会推出,你最后要加两个getchar();吧!!!
[解决办法]
如果是一闪而过……最后加system("pause");头文件:#include <stdlib.h>
[解决办法]
int in()
{
int code[100],i;
for(i = 0; i < 100;i++)
sum[i] = 0;
s[1] = 1;
code[1] = 1;
find(code,2,1);
return 1;
}
此函数中code没有初始化

热点排行