混合类型数据格式化输入
2015-07-26 11:14
309 查看
题目:
输入格式:
输入在一行中顺序给出浮点数1、整数、字符、浮点数2,其间以1个空格分隔。
输出格式:
在一行中按照字符、整数、浮点数1、浮点数2的顺序输出,其中浮点数保留小数点后2位。
输入样例:
2.12 88 c 4.7
输出样例:
c 88 2.12 4.70
我写的代码:
```
#include<stdio.h>
int main()
{
char a;
int b;
float c,d;
scanf("%f%d%c%f",&c,&b,&a,&d);
printf("%c %d %.2f %.2f\n",a,b,c,d);
return 0;
}
```
在scanf()函数里%f%d%c%f之间没有空格,运行后出现这样的结果:
2.12 88 c 4.7 -------->这是输入
88 2.12 0.00
--------------------------------
Process exited with return value 0
Press any key to continue . . .
如果把scanf()函数改成这样scanf("%f%d%c%f",&c,&b,&a,&d); _即%f %d %c %f,
(每个转换字符后面有空格)
则没有问题,编译通过。为什么呢。。。。
刚刚看了一下k&r对%c的说明:
c 字符;char *类型,将接下来的多个输入字符(默认为一个字符)存放到指定位置。该转换规范通常不跳过空白符。如果需要读入下一个非空白符,可以使用%ls。
然而。。。看不太懂,有哪位大神来解释一下~
输入格式:
输入在一行中顺序给出浮点数1、整数、字符、浮点数2,其间以1个空格分隔。
输出格式:
在一行中按照字符、整数、浮点数1、浮点数2的顺序输出,其中浮点数保留小数点后2位。
输入样例:
2.12 88 c 4.7
输出样例:
c 88 2.12 4.70
我写的代码:
```
#include<stdio.h>
int main()
{
char a;
int b;
float c,d;
scanf("%f%d%c%f",&c,&b,&a,&d);
printf("%c %d %.2f %.2f\n",a,b,c,d);
return 0;
}
```
在scanf()函数里%f%d%c%f之间没有空格,运行后出现这样的结果:
2.12 88 c 4.7 -------->这是输入
88 2.12 0.00
--------------------------------
Process exited with return value 0
Press any key to continue . . .
如果把scanf()函数改成这样scanf("%f%d%c%f",&c,&b,&a,&d); _即%f %d %c %f,
(每个转换字符后面有空格)
则没有问题,编译通过。为什么呢。。。。
刚刚看了一下k&r对%c的说明:
c 字符;char *类型,将接下来的多个输入字符(默认为一个字符)存放到指定位置。该转换规范通常不跳过空白符。如果需要读入下一个非空白符,可以使用%ls。
然而。。。看不太懂,有哪位大神来解释一下~
相关文章推荐
- Io流
- 小型企业网站的架构 & 安全配置与防护 推荐
- HDU 1501 Zipper(DFS)
- scikit-learn:4.4. Unsupervised dimensionality reduction(降维)
- 文件上传和显示图片
- Spring(十二)使用Spring的xml文件配置方式实现AOP
- [CortexM0--stm32f0308]Flash memory
- 使用 C# 开发智能手机软件:推箱子(四)
- 字符串匹配 CCF KMP算法实现字符串匹配
- sgu296:Sasha vs. Kate(贪心)
- java笔记--类与继承
- linux通过建模工具Umbrello
- 开源 自由 java CMS - FreeCMS1.9 积分规则管理
- 1001
- 《ASP.NET》数据绑定—DataList实践篇
- NYOJ 865 解题报告
- python-eggs异常解决方法
- hdu 5310 Souvenir
- poj 2031 Building a Space Station
- JavaWeb学习笔记:Tomcat