在程序中要求读入多个数字时,可以在一行输入,中间用空格分开,也可以在多行输入。
在scanf的格式字符串中有几个%d,他就等待用户输入一个整数,当然字符串后面也需要对应有南那么多个整数。
例如
int a;
int b;
printf("请输入两个整数:");
scanf("%d %d",&a,&b);
printf("%d+%d=%d\n",a,b,a+b);
我们想要使用英制单位,英寸,如果一个外国人告诉你他身高为5尺7寸,该怎么计算他的身高呢。
用数学列出表达式为(5+7/12)*0.3048=1.7018米
我们使用c语言可以编程为
printf("请分别输入身高的英尺和英寸,""如输入\5"7\"表示5英尺7英寸:");
int foot;
int inch;
scanf("%d%d",&foot,&inch);
printf("身高是%f米。\n,((foot+inch/12")*0.3048));
我们将程序运行当我们输入了5和7时我们将会发现这个程序输出的时1.524米。
原因是两个整数的运算的结果只能是整数10和10.0在c语言中是完全不同的数,10.0是浮点数。
浮点数指的是带小数点的数值。
inch是定义为int类型的变量,如果把int换成double,我们就把他改为double类型的浮点数变量了,double的意思是双,他本来就是爽精度浮点数的第一个单词,除了double还有float表示单精度的浮点数。
我们可以将上面那个代码改为:
printf("请分别输入身高的英尺和英寸,""如输入\5"7\"表示5英尺7英寸:");
double foot;
double inch;
scanf("%lf %lf",&foot,&inch);
printf("身高是%f米。\n,((foot+inch/12")*0.3048));
整数的数据类型有以下几个
int
printf("%d",...)
scanf("%d",...)
带小数点的数
double
printf("%f",...)
scanf("%lf",...)