C/C++の宿題片付けます 133代目

このエントリーをはてなブックマークに追加
353 ◆PcWwLjlc5M
[1] 授業単元:基礎プログラミング講義
[2] 問題文(含コード&リンク):以下の処理はサブ関数で作成する。数値(n)を反転した値を表示せよ。123→321
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン:borand bcc55
 [3.3] 言語:C
[4] 期限:12月22日 10:00 a.m.
[5]サブ関数まで学習済み
以下のプログラムは私が先生にはじかれたものです。
サブ関数内でprintfを使うなとのことでした。
#include<stdio.h>
int sub1 (int a) { int x;
for(x=0;a!=0;x++) { a=a/10; }
return(x); }
int sub2 (int a,int b) { int v,w,x,y,z;
x=10; y=1;
for(w=0;w!=b;w++) { z=a%x; v=z/y;
printf("%d",v); x=x*10; y=y*10; }
return; }
int main(void) { int m,n;
while(scanf("%d",&n)==1) { m=sub1(n);
printf("反転した結果は"); sub2(n,m);
printf("\n\n"); } return(0); }

何卒、お願いいたします…