PASCAL转c++

来源:百度知道 编辑:UC知道 时间:2024/06/21 01:15:48
{$apptype console}
program test;

function eval(str:string):integer;{计算表达式的值}
var
opr:char;
i,x,sum:integer;
begin
sum:=0;
opr:='+';
x:=0;
for i:=1 to length(str) do
begin
if (str[i]='+')or(str[i]='-') then
begin
if opr='+' then sum:=sum+x else sum:=sum-x;
opr:=str[i];
x:=0;
end else if str[i]<>' ' then
begin
x:=x*10+ ord(str[i])-ord('0');
end;
end;
if opr='+' then sum:=sum+x else sum:=sum-x;
eval:=sum;
end;

var
str:string='1 2 3 4 5 6 7 8 9';
op:array[1..3] of char=('+','-',' ');
n,x,i1,i2,i3,i4,i5,i6,i7,i8:integer;
begin
write('N=');readln(n);
x:=0;
for i1:=1 to 3 do
for i2:=1 to 3 do
for i3:=1 to 3 do
for i4:=1 to 3 do
for i5:=1 to 3 do
for i6:=1 to 3 do

呵呵,这程序还有点意思~~

#include<string.h>
#include<stdio.h>
int eval(char str[])
{
char opr;
int i,x,sum;
sum=0;
opr='+';
x=0;
for(i=0;i<strlen(str);i++)
{
if ((str[i]=='+')||(str[i]=='-'))
{
if(opr=='+')
sum=sum+x;
else
sum=sum-x;
opr=str[i];
x=0;
}
else if(str[i]!=' ')
x=x*10+str[i]-'0';
}
if(opr=='+')
sum=sum+x;
else
sum=sum-x;
return sum;
}

void main()
{
char str[]="1 2 3 4 5 6 7 8 9";
char op[3]={'+','-',' '};
int n,x,i1,i2,i3,i4,i5,i6,i7,i8;
printf("N=");
scanf("%d",&n);
x=0;
for(i1=0;i1<3;i1++)
for(i2=0;i2<3;i2++)
for(i3=0;i3<3;i3++)
for(i4=0;i4<3;i4++)
for(i5=0;i5<3;i5++)
for(i6=0;i6<3;i6++)
for(i7=0;i7<3;i