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

来源:百度知道 编辑:UC知道 时间:2024/05/27 16:48:54
题目是这样的:
字符左右排序
要求编制函数jsSort(),以行为单位对字符串按给定的条件进行排序,排序后的结果仍按行重新存入字符串数组中。
排序条件:将字符串从中间一分为二,左边部分按字符的ASCII码升序排序,排序后左边部分与右边部分进行交换。如果原字符串长度为奇数,则最中间的字符不参与处理,仍放在原位置上。
例如,原字符串:
dcbahgfe
432198765
则处理后字符串:
hgfe abcd
876591234
我这么编的

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<strlen(str);i++) str_temp[k++]=str[i];
for(i=0;i<strlen(str)/2;i++)
for(j=0;j<strlen(str)/2-1-i;j++)
if ((int)str[j]>(int)str[j+1]) {temp=str[j];str[j]=str[j+1];str[j+1]=temp;

你用的应该是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<strlen(str);i++) str_temp[k++]=str[i];
for(i=0;i<strlen(str)/2;i++)
for(j=0;j<strlen(str)/2-1-i;j++)
if ((int)str[j]>(int)str[j+1]) {temp=str[j];str[j]=str[j+1];str[j+1]=temp;}