-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