-3
我有一個字符串(一個方程式或多項式),我想獲取字符串中的特定字符。例如,如果用戶進入:如何獲得字符串中的特定字符
4x^2+3x-9
我想創建每個術語的節點,所以在第一個節點,我需要將「4」的因素,並在其權力「2」。以下是我用於識別節點的代碼。
typedef struct node *ptr;
struct node
{
char sign;
int power;
int factor;
ptr next;
};
typedef ptr poly;
typedef ptr position;
和以下是我已經從用戶接受多項式編寫的代碼:
void fillPoly(poly polynomial)
{
system("cls");
char polyn[100];
printf("\t\t\tEnter your polynomial please. Your polynomial should not exceed 7 terms.\n\t\t\t");
scanf("\t\t\t%s",polyn);
position temp;
temp=polynomial;
while (polyn!='\0')
{
(temp)->next=(position)malloc(sizeof (struct node));
// Here is the problem
}
}
我不知道如何分配節點之後繼續,我會怎麼走因素和權力,並填補他們?
兩個問題:首先是你從用戶*兩次*讀取輸入,一次用'scanf',另一次用'gets',第二次輸入覆蓋字符數組的內容。第二個問題是,爲了避免字符串或字符文字中的特殊字符,您應該使用* back *斜線,如''\ 0''。 – 2015-04-05 18:14:57
@JoachimPileborg我編輯了它,現在是否正確?但是,我正在尋找的是一種分別獲得因子和權力的方法,並將它們存儲在每個術語的節點中。我的問題清楚了嗎? – 2015-04-05 18:20:06
http://stackoverflow.com/a/11693474/971127 – BLUEPIXY 2015-04-05 18:25:53