実数 x と正の整数 n をキーボードから入力し,do 文を用いてベキ乗(x の n 乗)と n の階乗を 計算し,x, n, べき乗,階乗の値を出力するプログラムを組んで欲しいです。よろしくお願いします。ちなみに私は#include<stdio.h>
int main()
{
int n;
double x;
double xpow = 1.0, xfact = 1.0;
fputs("float & int\n", stdout);
scanf("%lf%d", &x, &n);
do {
xpow *= x;
xfact *= n;
} while (--n);
printf("pow->%g\nfact->%g\n", xpow, xfact);
return 0;
}としましたが、なりませんでした。初心者ですので、実際どこが違うのか分からず、また不要な処理をしているのか分からず。