1樓:匿名使用者
對原程式共有六處修改,修改之處請參閱程式:
#include
void main()
break;
} /*這個for語句是找出輸入的一行字元中第一個不是空字元的位置*/
for(n=m;n<=99;n++)
b[k][j]=0;
k++;
}if(c[n]==' ')
} /*這個語句是把輸入的一行字元中第一個字串填入二維陣列b的第一行*/
for(d=n;c[d-1]!=0;d++) //此處進行了修改
while(c[d]!=' '&&c[d]!=0);
b[k][j]=0;
k++;
}} /*找出第二個字串開始的其他字串並分別填入二維陣列b的每一行*/
for(a=0;a<=k-1;a++) //此處進行了修改
}} /*數出二維陣列b每一行的長度賦值給陣列p,也就是輸入的一行字元中每個字串的長度*/
x=0;
for(s=0;s } /*使陣列p中的元素(數字)按遞增排序*/ printf("這串字元中最長的字串為:"); printf("%s\n",b[x]);//此處進行了修改 printf("長度為%d\n",p[x]); //此處進行了修改 /*把二維陣列b中最長的一行輸出*/ 通過bcb2007和vc++6.0測試後才釋出,請重試並說明你的詳細錯誤資訊。 2樓: 怎麼,問題還沒解決嗎? 有更簡單的方法,不知道樓主是要改自己的程式呢,還是打算看看其它演算法……//假設上面已經存在字串c[100]int start, end, length; int max, i; start = end = 0; length = end - start; max = 0 for(i = 0;i<100;++i) }//c[start]...c[end-1]就是最長字串 陣列的下標是從0開始的 假如陣列a裡有三個元素,這三個元素可以表示成a 0 a 1 a 2 陣列的大小是根據你定義時確定下來的 有3中定義方法 1 int a 100 2 int a new int 100 3 int a 第一種定義直接給他分配了100個空間的記憶體,第二個也是,第三個是根據後面陣... 一分鐘讀懂。c語言程式設計。c語言程式設計 一分鐘讀懂。c語言程式設計。可以的,按照你的要求程式設計好。太多了,可以具體一下是需要哪個嗎。c語言程式設計 a 由0x開頭,後跟0 9,a f的是十六進位制整數。0x3al是十六進位制數,等於十進位制的 56,其中l表示長整形,a正確。b 由數字0開頭,... 程式的執行結果是a 14。逗號表示式的結果是最後一個逗號後面的表示式的值。你的問題中a 3 5,a 4 實際上等效於a a 4 一分鐘讀懂。c語言程式設計。可以的,按照你的要求程式設計好。太多了,可以具體一下是需要哪個嗎。a 0 從右往左開始運算。n n 2 n 7 2 n 1 n 0 a a a ...c語言程式設計,c語言 程式設計
C語言程式設計,c語言程式設計
C語言程式設計,c語言程式設計