该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
main()
{
char st[100]={'0',''}; /*记录用户输入的内容*/
char st0[50]={'0',''}; /*临时所用的字符串 */
char st1[1]={'0'}; /*临时所用的字符串 */
double d[20]; /* 储存数据的数组 */
char ss[20]={''}; /*储存符号的字符串 */
int dn=0; /*记录数组的有效个数*/
double swanp5();
/*临时所用到的变量*/
char *p;
char c;
int n,i,j,k;
double x,y,x1,x2;
/*临时所用到的变量*/
while(1){
list();
/*--记录用户的输入---------------*/
p=st;
while( (c=getchar())!='\n' ){
*p=c;p++;
}
*p='\0';
/*--测试输入是否记录下来----------*/
if(st[0]=='+'||st[0]=='-'||st[0]=='*'||st[0]=='/')
swanp11(st0,st);
if(st[0]=='.') swanp11("0",st);
/*printf("%s\n",st);*/
/*----------求d[] ,ss[] 开始-------*/
while(1){
/*得到第一个数据*/
*st0='0'; /*st=1.2+3.4+5.6*/
swanp1(st0,st);/*st0=1.2*/
x=swanp5(st0);/*x=1.2*/
d[dn]=x;dn++;/*d=1.2, dn=1*/
/*得到第一个数据*/
/*得到第一个符号*/
*st1='0';
swanp2(st,st1); /*st1='+'*/
c=*st1; /*c='+'*/
if( c=='0') break;
swanp3(ss,c); /*ss='+', */
/*st=1.2+3.4+5.6*/
/*得到第一个符号*/
/*初始化输入*/
i=swanp4(st0);
for(n=0;n<=i;n++)
swanp9(st,0);
/*初始化输入*/
}
/*----------求d[] ,ss[]完毕---------*/
/*---计算两组据运算结果 y 开始-----*/
while(1){
/*运算一次*/
p=ss;
i=swanp8(ss);if(i==-1) break;
c=*(p+i);
x1=d[i];
x2=d[i+1];
k=1;
switch(*(p+i)){
case '+':y=x1+x2;break;
case '-':y=x1-x2;break;
case '*':y=x1*x2;break;
case '/':y=x1/x2;break;
default:k=0;break;
}
/*运算一次*/
/*初始化 */
swanp6(d,i,dn);dn--;
swanp7(d,i,y);
swanp9(ss,i);