高分求高手!C语言程序不能运行,帮忙找错误……

2024-12-25 07:36:50
推荐回答(5个)
回答1:

你用的应该是TC2.0吧?

Unable create output file
无法创建输出文件

TC2.0中,输出文件生成的地址一般默认是:DOS/TEMP/
在DOS/文件夹下应该有TEMP或者其他(记不清楚了)文件夹的(其实就是路径设置的问题),可能你给删除了,建议换编译器吧!用WIN-TC或者DEV-C++都很不错的,不仅不需要设置路径等问题,还自动给出编程格式,帮助你做好代码。

下面的代码我在以上两种软件上都运行通过了。

main ()
{
char main_str[100];
printf("Please enter the keywords:");gets(main_str);
jssort(main_str);
getch();
}

jssort(char str[])
{
int i,j,is_ji=0,k=0;
char str_temp[100]="",temp;
is_ji=(strlen(str)%2==0)?0:1;
switch (is_ji)
{
case 0:
{

for(i=strlen(str)/2;i for(i=0;i for(j=0;j if ((int)str[j]>(int)str[j+1]) {temp=str[j];str[j]=str[j+1];str[j+1]=temp;}
for(i=0;i for(i=0;i puts("get:");puts(str);
break;
}
case 1:
{
for(i=(strlen(str)-1)/2+1;i str_temp[k++]=str[(strlen(str)-1)/2];
for(i=0;i<(strlen(str)-1)/2;i++)
for(j=0;j<(strlen(str)-1)/2-1-i;j++)
if ((int)str[j]>(int)str[j+1]) {temp=str[j];str[j]=str[j+1];str[j+1]=temp;}
for(i=0;i<(strlen(str)-1)/2;i++) str_temp[k++]=str[i];
for(i=0;i puts("get:");puts(str);
break;
}
default: break;
}
}

回答2:

你少了一个函数声明。

解决方法有2。

1:main函数前加上这句:
void jssort(char str[]);

2:把main函数移到void jssort(char str[])函数之后就行了。

回答3:

1处什么error啊, 贴一下啊

晕了, 不会看错误提示的这多得是, 不会贴错误提示的真是少。。

有些地方是跟编译器相关的,你用的编译器版本, 你文件是.c还是.cpp, 你编译选项开没开unicode这些的差别都可以让一个别人跑的了的程序你那编译不了, 所以没错误提示这种问题很难解决,根本不知道编译器在哪等着你呢

回答4:

程序没多大问题,我改了义点点,运行OK了
#include
#include
int main ()
{
void jssort(char str[]);//声明函数,以供调用
char main_str[100];
printf("Please enter the keywords:");gets(main_str);
jssort(main_str);
getchar();
return 0;
}

void jssort(char str[])
{
int i,j,is_ji=0,k=0;
char str_temp[100]="",temp;
is_ji=(strlen(str)%2==0)?0:1;
switch (is_ji)
{
case 0:
{

for(i=strlen(str)/2;i for(i=0;i for(j=0;j if ((int)str[j]>(int)str[j+1]) {temp=str[j];str[j]=str[j+1];str[j+1]=temp;}
for(i=0;i for(i=0;i puts("get:");puts(str);
break;
}
case 1:
{
for(i=(strlen(str)-1)/2+1;i str_temp[k++]=str[(strlen(str)-1)/2];
for(i=0;i<(strlen(str)-1)/2;i++)
for(j=0;j<(strlen(str)-1)/2-1-i;j++)
if ((int)str[j]>(int)str[j+1]) {temp=str[j];str[j]=str[j+1];str[j+1]=temp;}
for(i=0;i<(strlen(str)-1)/2;i++) str_temp[k++]=str[i];
for(i=0;i puts("get:");puts(str);
break;
}
default: break;
}
}

回答5:

这样做:
#include
#include
void jssort(char str[]);
main ()
{
char main_str[100];
printf("Please enter the keywords:");gets(main_str);
jssort(main_str);
getch();
}

void jssort(char str[])
{
int i,j,is_ji=0,k=0;
char str_temp[100]="",temp;
is_ji=(strlen(str)%2==0)?0:1;
switch (is_ji)
{
case 0:
{

for(i=strlen(str)/2;i for(i=0;i for(j=0;j if ((int)str[j]>(int)str[j+1]) {temp=str[j];str[j]=str[j+1];str[j+1]=temp;}
for(i=0;i for(i=0;i puts("get:");puts(str);
break;
}
case 1:
{
for(i=(strlen(str)-1)/2+1;i str_temp[k++]=str[(strlen(str)-1)/2];
for(i=0;i<(strlen(str)-1)/2;i++)
for(j=0;j<(strlen(str)-1)/2-1-i;j++)
if ((int)str[j]>(int)str[j+1]) {temp=str[j];str[j]=str[j+1];str[j+1]=temp;}
for(i=0;i<(strlen(str)-1)/2;i++) str_temp[k++]=str[i];
for(i=0;i puts("get:");puts(str);
break;
}
default: break;
}
}