求解答一个c语言的问题

用下面的scanf函数输入数据,使a=10,b=20,c1='A',c2='a',x=1.5,y=-3.75,z=67.8,请问在键盘上如何输入数据!scanf("%5d... 用下面的scanf函数输入数据,使a=10,b=20,c1='A',c2='a',x=1.5,y=-3.75,z=67.8,请问在键盘上如何输入数据!
scanf("%5d%5d%c%c%f%f*f,%f",&a,&b,&c1,&c2,&x,&y,&z);

上面就是问题了,求大神解答
展开
 我来答
Arthurzss
2013-11-27 · TA获得超过1661个赞
知道小有建树答主
回答量:496
采纳率:100%
帮助的人:232万
展开全部

关键是其中的%c和*f,的输入,%c前不能有空(否则值就取得空格了),*f,三个字符要按原样输入,所以输入(注意其中的空格和标点):

10 20Aa 1.5 -3.75*f,67.8

按照要求测试程序:

#include <stdio.h>
int main()
{
  int a,b;
  char c1,c2;
  float x,y,z;
  scanf("%5d%5d%c%c%f%f*f,%f",&a,&b,&c1,&c2,&x,&y,&z);
  printf("%5d%5d %c %c %f %f %f\n",a,b,c1,c2,x,y,z);
}

运行后结果完全正确:

lllabbb
2013-11-27 · TA获得超过183个赞
知道小有建树答主
回答量:70
采纳率:100%
帮助的人:47.3万
展开全部

哥们你scanf里格式串写错了吧,是不是想写成这样啊?

scanf("%5d%5d%c%c%f%f%*f,%f",&a,&b,&c1,&c2,&x,&y,&z);没见过%f*f这样的东西,在scanf里*表示本次输入不赋值给相应变量,所以你是不是想写成%*f,如果按照我说的这个格式来输的话,键盘输入的数据应该是:

10 20Aa1.5 -3.75 +1.5 67.8

需要注意的是+1.5对应的是%*f,即不赋值给任何变量的,有不懂的再讨论吧

#include <stdio.h>
#include <iostream>

using namespace std;

int main()
{
 int a, b;
 char c1, c2;
 float x, y, z;
 scanf("%5d%5d%c%c%f%f%*f,%f",&a,&b,&c1,&c2,&x,&y,&z);

 cout<<"a="<<a<<" b="<<b<<" c1="<<c1<<" c2="<<c2<<" x="<<x<<" y="<<y<<" z="<<z<<endl;
 return 0;
}

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
黄山Felix
2013-11-27 · TA获得超过828个赞
知道小有建树答主
回答量:498
采纳率:16%
帮助的人:260万
展开全部
10 回车
20 回车
A 回车
a 回车
1.5 回车
3.75 回车
67.8 回车
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式