一个TURBO C++的问题

来源:百度知道 编辑:UC知道 时间:2024/06/20 13:20:32
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <iostream.h>
#include <iomanip.h>

void f1(float C[],int length)
{int i,j,k; float Temp; k-=length;
for (i=0;i<k;i++) { for (j=length;j>i;j--)
{if (C[i]>C[j]) { Temp=C[i]; C[i]=C[j]; C[j]=Temp; } } }
for (i=0;i<length;i++) {printf("C[%d]=%f",i,C[i]); cout<<endl; }
}

void f2(float C[],int length)
{int i,j,k; float Temp; k-=length;
for (i=0;i<k;i++) { for (j=length;j>i;j--)
{if (C[i]<C[j]) { Temp=C[i]; C[i]=C[j]; C[j]=Temp; } } }
for (i=0;i<length;i++) {printf("C[%d]=%f",i,C[i]); cout<<endl; }
}

void main()
{float A[10];
int n=0,i=0;
printf("Welcome to $$$$ MATHS WORLD $$$$");
cout<<endl;
printf("(press any key to continue.....)");
cout<<endl;

没有全部看完,但是找到一个问题。

void f1(float C[],int length)
{int i,j,k; float Temp; k-=length; //这里!!!!!!!
for (i=0;i<k;i++) { for (j=length;j>i;j--)
{if (C[i]>C[j]) { Temp=C[i]; C[i]=C[j]; C[j]=Temp; } } }
for (i=0;i<length;i++) {printf("C[%d]=%f",i,C[i]); cout<<endl; }
}

void f2(float C[],int length)
{int i,j,k; float Temp; k-=length; //还有这里!!!!!
for (i=0;i<k;i++) { for (j=length;j>i;j--)
{if (C[i]<C[j]) { Temp=C[i]; C[i]=C[j]; C[j]=Temp; } } }
for (i=0;i<length;i++) {printf("C[%d]=%f",i,C[i]); cout<<endl; }

}

你这两个地方的k没有被初始化,系统会随即给定一个初值。所以肯定会出错啦