PHP在数据输出时进行乘法和加法运算
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP在数据输出时进行乘法和加法运算相关的知识,希望对你有一定的参考价值。
<td><?php echo $this->_var['row']['ggxx']; ?></td>
<td class="hidden-phone"><?php echo $this->_var['row']['ggxxs']; ?></td>
<td class="hidden-phone"><?php echo $this->_var['row']['jf']; ?></td>
<td class="hidden-phone"><?php echo $this->_var['row']['jfs']; ?></td>
这个是页面输出的我想让他每一条都乘以10 然后再相加 怎么做呢
现在我的做法是 <td><?php echo $this->_var['row']['ggxx']*10; ?></td>这样做的话
<td><!--$row.ggxx--></td>模板里的该怎么修改呢
<td><!--eval $row.ggxx*10--></td>
加个eval表达式,一般smarty是这样来解析的 参考技术A 在输出前 使用 foreach 遍历一遍,或者找一下当前模板的相关语法
一元多项式的乘法与加法运算
设计函数分别求两个一元多项式的乘积与和。
输入格式:
输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。
输出格式:
输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应输出0 0
。
输入样例:
4 3 4 -5 2 6 1 -2 0 3 5 20 -7 4 3 1
输出样例:
15 24 -25 22 30 21 -10 20 -21 8 35 6 -33 5 14 4 -15 3 18 2 -6 1 5 20 -4 4 -5 2 9 1 -2 0
代码如下:
1 #include <stdio.h> 2 3 typedef struct PolyNode 4 { 5 int coef; 6 int expon; 7 struct PolyNode *link; 8 }*Polynomial; 9 10 void Attach(int a,int b,Polynomial *pRear) 11 { 12 Polynomial P; 13 P=(Polynomial)malloc(sizeof(struct PolyNode)); 14 P->coef=a; 15 P->expon=b; 16 P->link=NULL; 17 (*pRear)->link=P; 18 *pRear=P; 19 } 20 21 Polynomial ReadPoly() 22 { 23 Polynomial P,Rear,t; 24 int n,a,b; 25 scanf("%d",&n); 26 P=(Polynomial)malloc(sizeof(struct PolyNode)); 27 P->link=NULL; 28 Rear=P; 29 while(n--) 30 { 31 scanf("%d %d",&a,&b); 32 Attach(a,b,&Rear); 33 } 34 t=P; 35 P=P->link; 36 free(t); 37 return P; 38 } 39 40 Polynomial Add(Polynomial P1,Polynomial P2) 41 { 42 Polynomial front,rear,temp; 43 int sum; 44 rear=(Polynomial)malloc(sizeof(struct PolyNode)); 45 front=rear; 46 while(P1&&P2) 47 { 48 if(P1->expon>P2->expon) 49 { 50 Attach(P1->coef,P1->expon,&rear); 51 P1=P1->link; 52 } 53 if(P1->expon<P2->expon) 54 { 55 Attach(P2->coef,P2->expon,&rear); 56 P2=P2->link; 57 } 58 if(P1->expon==P2->expon) 59 { 60 sum=P1->coef+P2->coef; 61 if(sum) 62 { 63 Attach(sum,P1->expon,&rear); 64 } 65 P1=P1->link; 66 P2=P2->link; 67 } 68 } 69 for(;P1;P1=P1->link) Attach(P1->coef,P1->expon,&rear); 70 for(;P2;P2=P2->link) Attach(P2->coef,P2->expon,&rear); 71 rear->link=NULL; 72 temp=front; 73 front=front->link; 74 free(temp); 75 return front; 76 } 77 78 Polynomial Mult(Polynomial P1,Polynomial P2) 79 { 80 Polynomial P,Rear,t1,t2,t; 81 int a,b; 82 if(!P1||!P2) return NULL; 83 t1=P1; 84 t2=P2; 85 P=(Polynomial)malloc(sizeof(struct PolyNode)); 86 P->link=NULL; 87 Rear=P; 88 while(t2) 89 { 90 Attach(t1->coef*t2->coef,t1->expon+t2->expon,&Rear); 91 t2=t2->link; 92 } 93 t1=t1->link; 94 while(t1) 95 { 96 t2=P2; 97 Rear=P; 98 while(t2) 99 { 100 a=t1->coef*t2->coef; 101 b=t1->expon+t2->expon; 102 while(Rear->link&&Rear->link->expon>b) 103 { 104 Rear=Rear->link; 105 } 106 if(Rear->link&&Rear->link->expon==b) 107 { 108 if(Rear->link->coef+a) 109 Rear->link->coef+=a; 110 else 111 { 112 t=Rear->link; 113 Rear->link=t->link; 114 free(t); 115 } 116 } 117 else 118 { 119 t=(Polynomial)malloc(sizeof(struct PolyNode)); 120 t->coef=a; 121 t->expon=b; 122 t->link=Rear->link; 123 Rear->link=t; 124 Rear=Rear->link; 125 } 126 t2=t2->link; 127 } 128 t1=t1->link; 129 } 130 t2=P; 131 P=P->link; 132 free(t2); 133 return P; 134 } 135 136 void PrintPoly(Polynomial P) 137 { 138 int flag=0; 139 if(!P) 140 { 141 printf("0 0\n"); 142 return ; 143 } 144 while(P) 145 { 146 if(!flag) flag=1; 147 else printf(" "); 148 printf("%d %d",P->coef,P->expon); 149 P=P->link; 150 } 151 printf("\n"); 152 } 153 154 int main() 155 { 156 Polynomial P1,P2,PP,PS; 157 158 P1=ReadPoly(); 159 P2=ReadPoly(); 160 PP=Mult(P1,P2); 161 PrintPoly(PP); 162 PS=Add(P1,P2); 163 PrintPoly(PS); 164 165 return 0; 166 }
以上是关于PHP在数据输出时进行乘法和加法运算的主要内容,如果未能解决你的问题,请参考以下文章