I don't understand your situation here.
Where are your values stored initially?
How/where would you like them to be "outputted"? In a report, another table, or in the LOG? What functionality are you aiming for?
Although I do not understand what you want to do, one part of your question is easy to answer. %PUT only writes to the SAS log. It does not function like the DATA step PUT statement where you can write to a fileref.
As for the rest of your question, you say that you want the values of &A, &B and &C stored in a data set? Where are they coming from in the first place? Are they constants? Why do you need macro variables?
Consider the following program:
d = a + b + c;
method = "Direct";
proc print data=examp1;
title 'Examp 1 -- Using Constants';
%let a = 23;
%let b = 45;
%let c = 89;
%let method = Macro;
please keep your posts in one forum only. It's a bit annoying to answer a question only to see later on that there was already quite a discussion going on in another forum.