ho risolto così ma non so perchè nella strcpy(ultima,data) mi copia l'ultima data 'R' cerso torino cronologicamente parlando...(me lo hann detto ma nn ho capito il perchè)..grazie
codice:
#include <stdio.h>
#include <stdlib.h>
#define MAX 100
#define NAME 20
#include <string.h>

int main(int argc,char*argv[])
{
    FILE*fp;

    char dest[NAME],data[NAME];
    int met,i;
    char str[MAX];
    char ultima[NAME];
    char tipo;
    float tot_km,tot_met,tot_costo;

    fp=fopen("viaggi.txt","r");
    if(fp==NULL)
    {
        printf("errore\n");
        return -1;
    }
    if(argc!=2)
    {
        printf("errore numero parametri del file %s\n",argv[1]);
        return -1;


    }
    tot_met=0;

    i=0;
    while(fgets(str,MAX,fp)!=NULL)
    {

        if(sscanf(str,"%s %s %d %c",dest,data,&met,&tipo)!=4)
            printf("errore numero parametri\n");


        else if(strcmp(dest,argv[1])==0 && tipo=='R')


        {
            tot_met+=met;
            i++;
            strcpy(ultima,data);

        }
        tot_km=(float)tot_met/1000;
        tot_costo=(5.00*i)+(tot_km*0.10);



    }
    printf("chilometri totali verso %s: %.2f\n",argv[1],tot_km);
    printf("costo totale verso %s: Euro %.2f\n",argv[1],tot_costo);
    printf("ultimo viaggio per %s e in data %s\n",argv[1],ultima);
    printf("volte R = %d",i);


    fclose(fp);
    return 0;

}