народ  а подскажите в 3 задаче только числа?или там ещё переменные задавать?вроде написал но на выражение типа X Y + оно выдает ноль.Это нормально?
вот код:
Код:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void turn (char s[])    
{
 int i=strlen(s)-1,j;  
 char c;             
 for(j=0;j<i/2+1;j++)  
 {
    c=s[j];
    s[j]=s[i-j];       
    s[i-j]=c;
 }
}
void insert(char s1[],char s2[],int n) 
{
 int i,l1=strlen(s1),l2=strlen(s2);    
 for(i=l1+n;i>l1-1;i--)   
 {
    s1[i]=s1[i-n];
    s1[i-n]=' ';    
 }
 for(i=0;i<l2;i++) 
    s1[i+n]=s2[i];
}
int schet(char s[])  
{
 int i=0,l=strlen(s),j=0,b=0,res;
 char s1[255],s2[255];
 
 while(((s[i]<'0')||(s[i]>'9')||(s[i]==' '))&&(i<l))  
    i++;                                
 if(i!=l)
    while((s[i]>='0')&&s[i]<='9')             
       s1[j++]=s[i++];
 
 s1[i]='\0';
 res=atoi(s1);                   
 
 while((s[i]!='-')&&(s[i]!='+')&&(s[i]!='*')&&(s[i]!='/')&&(i<l)) 
    i++;
 if(i!=l)       
 {
    j=i-1;
    while(s[j]==' ')             
       j--;          
    while((s[j]>='0')&&(s[j]<='9')&&(j>-1)) 
    {
       s1[b++]=s[j];
       s[j--]=' ';
    }
    s1[b]='\0';
  
    b=0;
    while(s[j]==' ')
       j--;
  
    while((s[j]>='0')&&(s[j]<='9')&&(j>-1))
    {
       s2[b++]=s[j];
       s[j--]=' ';
    }
    s2[b]='\0';
 
    turn(s1); 
    turn(s2);
  
    if(s[i]=='-')
       res=atoi(s2)-atoi(s1);
    if(s[i]=='+')
       res=atoi(s2)+atoi(s1);
    if(s[i]=='*')                
       res=atoi(s2)*atoi(s1);
    if(s[i]=='/')
       res=atoi(s2)/atoi(s1);
    s[i]=' ';
    itoa(res,s1,10);       
    insert(s,s1,i);
    res=schet(s);
    return(res);       
 }
 return(res);
}
void main()
{
 char str[1024];
 int res=0;             
 printf("Vvedite virajenie\n");
 gets(str);             
 res=schet(str);    
 printf("%i\n",res);
}