1程序软件免费下载
9gsb
软件,拼音为Ruǎnjiàn,国标中对软件的定义为:与计算机系统 *** 作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。
简单说个算法
输入的时候是输入两个式子的系数,可以用#作为输入结束标志
char ch=‘0’;
while(ch!='#'-‘0’)
{
scanf(%c,&ch);
ch-='0';
}
上面的算法每个循环得到的ch里存放的就是实际的数值
想办法放到p,q数组里去就行了
p,q,s位数分别为pi,qi,si的话
si=pi+qi; //s的幂次必为p,q幂次之和
P、Q的x幂次相加存入S相应位置
至于输入系数的时候
输入没有特别要求的话可以按照x的升序排列
这样0次幂存入p[0],1次幂存入p[1],
三个数组都可以这样安排
方便计算同时可以获取最终式子项数,也就是(幂次+1),在si里
s(x)系数计算
x幂次之和m刚好对应s[ ]下标
for(m=0;m<=si;m++) //计算数组s[ ]
for(i=0;i<=m;i++)
s[m]=p[i]+q[m-i];
然后输出应该就可以了
大概就是这样吧
========================
源程序在这里,Win7+C-Free 50测试通过
先上截图
#include <stdioh>
#include <stringh>
#define MAXLEN 20 //数组长度
void input(); //输入P/Q
void mul(); //多项式乘法
void outputS(); //输出S
int main(void)
{
float p[MAXLEN],q[MAXLEN], //p,q输入元素为原多项式各项系数
s[MAXLEN<<2]; //s中元素为输出多项式
int sn,pn,qn; //分别为多项式的次数
system("cls");
printf("\n\n输入P(x)的次数(正整数):"); //输入P(x)
scanf("%d",&pn);
printf("\n输入P(x)各项系数,P(x)降幂排列:\n");
pn++; //项数=次数+1
input(p,pn);
printf("\n");
printf("\n\n输入Q(x)的次数(正整数):"); //输入Q(x)
scanf("%d",&qn);
printf("\n输入Q(x)各项系数,Q(x)降幂排列:\n");
qn++; //项数=次数+1
input(q,qn);
printf("\n");
sn=(pn+qn-2); //S多项式次数
int i; //S数组初始化
for (i=0;i<sn+1;i++)
s[i]=0;
mul(p,q,s,pn,qn); //做多项式乘法
outputS(s,sn+1); //输出S
printf("\n");
getch();
return 1;
}
void input(float p,int t)
{
int i;
for (i=0;i<t;i++) scanf("%f",&p[i]);
}
void mul(float p,float q,float s, int m, int n)
{
int i,j;
for (i=0;i<m;i++) //扫描P(x)系数
for (j=0;j<n;j++) //扫描Q(x)系数
s[i+j]+=p[i]q[j];
}
void outputS(float s,int t)
{
int i;
printf("\nS(x)各项系数是(S(x)降幂排列):\n");
for (i=0;i<t;i++)
printf("%2f\t",s[i]);
}
呼呼~~终于完成了~~
以上就是关于如何自己编程序做软件全部的内容,包括:如何自己编程序做软件、用c语言编写一个程序,要求如下、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)