void swap(int a,int b)
衛(wèi)輝ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!
{
int temp;
temp=a;
a=b;
b=temp;
}
這個函數(shù)是個假的,起不到交換的作用??!
如果不改變程序內(nèi)容,可用假函數(shù)(宏定義實現(xiàn)交換),如:
#define swap( a, b) do {int temp; temp=a;a=b;b=temp; }while(0)
來替換掉這個函數(shù)!
如果還有問題,則是快速排序方法的問題了,你再仔細研究一下
int split(char dst[][80], char* str, const char* spl)
{
int n = 0;
char *result = NULL;
result = strtok(str, spl);
while( result != NULL )
{
strcpy(dst[n++], result);
result = strtok(NULL, spl);
}
return n;
}
int _tmain(int argc, _TCHAR* argv[])
{
char str[] = "123,456\n789,321";
char dst[10][80];
int cnt = split(dst, str, "\n");
for (int i = 0; i cnt; i++)
puts(dst[i]);
return 0;
}
主要是字符串分割函數(shù)strtok的使用
#include?stdio.h
#include?string.h
int?main(void)
{
char?str[100],?spl[10],?*p;
fputs("請輸入字符串?:?",?stdout);
gets(str);
fputs("請輸入分割符?:?",?stdout);
gets(spl);
p?=?strtok(str,?spl);
while?(p?!=?NULL)
{
puts(p);
p?=?strtok(NULL,?spl);
}
return?0;
}
void SPL(int n, double *x, double *y, int ni, double *xi, double *yi); 是你所要。
已知 n 個點 x,y; x 必須已按順序排好。要插值 ni 點,橫坐標 xi[], 輸出 yi[]。
程序里用double 型,保證計算精度。
SPL調(diào)用現(xiàn)成的程序。
現(xiàn)成的程序很多。端點處理方法不同,結(jié)果會有不同。想同matlab比較,你需 嘗試 調(diào)用 spline()函數(shù) 時,令 end1 為 1, 設 slope1 的值,令 end2 為 1 設 slope2 的值。
#include?stdio.h
#include?string.h
//?將str字符以spl分割,存于dst中,并返回子字符串數(shù)量
int?split(char?dst[][80],?char*?str,?const?char*?spl)
{
int?n?=?0;
char?*result?=?NULL;
result?=?strtok(str,?spl);
while(?result?!=?NULL?)
{
strcpy(dst[n++],?result);
result?=?strtok(NULL,?spl);
}
return?n;
}
int?main()
{
char?str[]?=?"what?is?you?name?";
char?dst[10][80];
int?cnt?=?split(dst,?str,?"?");
for?(int?i?=?0;?i??cnt;?i++)
puts(dst[i]);
return?0;
}
seq表示seq的地址,SqList seq;由系統(tǒng)分配一個地址空間
SPL=seq,SPL等于seq的地址,SPL指向的內(nèi)容,就是seq變量的內(nèi)容