0

我正在为家庭作业编写简单的代码。当我定义它时,我从用户那里得到一个数字,即 3.4

scanf("%d",&a)

它只需要 3 就可以做到。我定义a

int a; 

我应该怎么办?

4

6 回答 6

4

我认为您对 c 编程很陌生。这是一个非常简单的工作。这可以这样做: -

float a;
// to input a data in the variable a
scanf("%f",&a);
//to display the stored data
printf("%f\n",a);
//or 
printf("%.nf\n",a);//specify value of n
//maximum value of n is 6 also is its default value
//for e.g. printf("%.2f",a); will display decimal number upto two digits after the decimal place
//you can know more about displaying data as
%d: decimal value (int) 
%c: character (char) 
%s: string (const char *) 
%u: unsigned decimal value (unsigned int) 
%ld: long int (long) 
%f: float value (float or double) 
%x: decimal value in Hexadecimal format 
%o: decimal value in octal format

有关格式规范的 avialabe 列表,请转到此处

于 2013-09-29T14:04:52.627 回答
2

使用浮动

float a;
scanf("%f", &a);
于 2013-09-29T13:56:30.480 回答
1

你应该定义a

float a;

并替换%d%fscanf

scanf("%f", &a);  

我应该怎么办?

阅读C 中格式化输入/输出的基础知识

于 2013-09-29T13:52:20.297 回答
1

%d 用于 int。3.4不是int类型,可以用float。

float x;
scanf("%f", &x);

有关数据类型的详细信息,您可以在此处查看:http ://en.wikipedia.org/wiki/C_data_types

还有这里:http ://www.techonthenet.com/c_language/variables/index.php

于 2013-09-29T13:54:35.897 回答
0

您正在声明 int a 只能采用整数值,因此您要做的就是使其浮动,用于具有小数点的数字

浮动一个;scanf(%f,&a);

于 2013-09-29T19:21:58.543 回答
0

对于 int 变量非常简单,我们使用 %d 格式说明符,如果我们想要浮点数,我们使用 %f 格式说明符。因为根据IEEE int 和float 位图格式是不同的。

于 2013-09-29T15:05:49.107 回答