首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

各位大神,帮小弟我看下哪错啦。小弟我菜鸟。

2012-03-23 
各位大神,帮我看下哪错啦。。。我初学者。。。#include math.h#include stdio.hint main(void){double rint

各位大神,帮我看下哪错啦。。。我初学者。。。
#include <math.h> 
#include <stdio.h> 

int main(void) 

  double r;
  int n;
  scanf("%6f %2d",&r,&n);
  printf("%6f raised to %2d is %lf\n",r,n,pow(r, n)); 
  return 0; 
}


[解决办法]
%6f改成%6lf
[解决办法]
scanf("%.6f %d",&r,&n);
printf("%.6f raised to %d is %lf\n",r,n,pow(r, n));
这样写,试试
[解决办法]
#include <math.h>
#include <stdio.h>

int main(void)
{
double r;
int n;
scanf("%6lf %2d",&r,&n);
printf("%6f raised to %2d is %lf\n",r,n,pow(r, n));
return 0;
}

[解决办法]
The value is not truncated even if the result is larger.

设置6f不会截断输出数字, 只是规定了最小输出宽度, 不够用空格补齐. 数字宽超出也不会截断. 你怎么取6列啊?
[解决办法]
我也是菜鸟。。不知道对不对。。我是把小数点直接去掉。
#include <math.h>
#include <stdio.h>

int main(void)
{
double r;
int n;
scanf("%6lf %2d",&r,&n);
printf("%6.0f raised to %2.0d is %lf\n",r,n,pow(r, n));
return 0;
}
[解决办法]
scanf()格式控制字符串: %[*][输入宽度][长度]输入类型
输入类型: d:十进制有符号整数 u:十进制无符号整数 o:八进制无符号整数 x:十六进制无符号整数 f:小数形式实数 e:指数形式浮点 
c:字符 s:字符串 n:返回其前字符个数
*:带星号表示该输入项不用来给参数列表中的变量们赋值,被跳过
输入宽度:截掉超出部分,仅用保留的部分赋值
长度: l:长整 h:短整

 printf()格式控制字符串: %[标志][最小宽度][.最大字符个数或.精度][长度]输出类型
标志: +:将符号输出 空格:为正则冠空格,为负则冠负号 #:输出前缀0或0x或有小数部分时输出小数点 -:左对齐
最小宽度:未达到最小输出宽度则补空格(字符前)或0(数字前)
最大字符个数或精度:截掉超出的字符或小数部分(优先于最小输出宽度?)
长度: l:长整(对"f"无影响) h:短整
输出类型: d:十进制有符号整数 u:十进制无符号整数 o:八进制无符号整数 x或X:十六进制无符号整数 f:小数形式实数 e或E:指数形式浮点 
g或G:实数(选小数和指数两种形式中较短的形式) c:字符 s:字符串 p:指针

没有控制台你自己看吧,不加点表示输出宽度,整数加.表示最大字符数,float和double加.表示精度
你自己试吧,别忘了把结果晒出来

热点排行