一直在用C++,使用cin读入double类型,今天写了点C,突然发现从键盘读入double类型出错了。 代码如下: double a; scanf("%f",&a); printf("%f\n",a); 输入的小数部分是乱码。 查了一下资料,原来是我把格式化输入搞错了。 printf 使用%f 可以输出 double 和 float 类型 但是scanf使用%f 读入 float 类型,使用 ...
c语言中,输入一个double型数通常使用scanf函数,其格式字符串为%lf。例如:double x11;scanf("%lf",&x11);这里需要注意,scanf函数的格式字符串中的%lf不能带任何数字。输出double型数时,通常使用printf函数。例如:printf("%lf",x11);这里同样需要注意,格式字符串中的%lf不能带任何数字。如果你...
int main(){//整型输入int a = 0;cout << "请输入整型变量:" << endl;cin >> a;cout << a << endl;//浮点型输入double d = 0;cout << "请输入浮点型变量:" << endl;cin >> d;cout << d << endl;//字符型输入char ch = 0;cout << "请输入字符型变量:" << endl;cin >>...
double读入用cin简单,而用scanf对应%lf #include<iostream>#include<cstdio>usingnamespacestd;intmain(){doublea,b,c;scanf("%lf%lf%lf",&a,&b,&c);//如果输入类型不匹配,不会赋值 如用%d, 都为0不变printf("MEDIA = %.1lf\n",(double)(a*2+b*3+c*5)/10);return0;} 1. 2. 3. 4. ...
doublef; intmain() { cin >> f >> n; cout << fixed << setprecision(n) << f << endl; return0; } LYF他测试了样例,结果是: (以下是控制台内容) 3.15 1 3.1 --- Process exited after -INF seconds with return value 0 请按任意键继续. . . (不信的同学可以到这里...
试试这个:while (1) { if (cin >> x) {  ...
std::cin >> num; 接收浮点数输入:使用>>运算符接收浮点数输入,接收一个浮点数变量price的输入: double price; std::cin >> price; 接收字符串输入:使用getline函数接收字符串输入,接收一个字符串变量name的输入: std::string name; std::cin.getline(name, 100); // 读取最多100个字符的字符串 ...
讲道理这种东西没学过编译原理很容易错。 因为float和double都会被转换成double然后送给printf函数 所以其实用%f还是%lf输出其实并不重要 然而输入时%lf表示地址对应的是8字节的double,%f表示地址对应的是4字节的float,存储方式都不一样,混用了肯定会出问题。
int plus=0,negative=0;double s;printf("请输入一组数(以0结束输入):\n");while(1){ scanf("%lf",&s);if(s>0)plus++;else if(s<0)negative++;else break;} printf("共有正数%d个\n",plus);printf("共有负数%d个\n",negative);system("pause");} main()//gets的 { int ...