展开全部
你这道题目考的不是要输入0.5(虽然1/2等于0.5)这个数,也不是输出0.5数值,这道题目应该是考的是格式化输入输出,而不进行计算的1/2内容。
解决办法有两种:
所以当你在终端上输入1/2时候,你把"1/2"当做一个字符串。很简单的方式,使用%s来接受字符串输入。程序可以这样简单的设计:
void main()
{
char buf[512]; //大小可以随意,够放就好。
scanf("%s", buf); //直接把1/2当做一个字符串
printf("%s", buf); //直接输出"1/2"字符串
}
2. 把1/2整串中的1当做数值,'/'当做一个符号,2也当做数值,程序可以这样设计
void main()
{
int num1, num2;
scanf("%d/%d", &num1,&num2); //认真看清楚中间有一个'/'符号,就是用来匹配到输入的'/'符号,谭浩强书里面有这样的例子,其实这样的输入格式不推荐。因为不通用。
printf("%d/%d", num1, num2); //这样也可以输出数值/数值的效果了。
}
3.在第二种的基础上改良一下,把中间的'/'用一个格式化符来替代,这样子你输入1*2的时候输出的也是1*2,输入1@2的时候出入也是1@2,等等类似的。
void main()
{
int num1, num2;
char sign; //用来接收符号'/'
scanf("%d%c%d", &num1,&sign,&num2); //中间的%c用来接收数值和数值之间的符号
printf("%d%c%d", num1,sign,num2); //这样输出结果就是:数值+符号+数值
}
那你这道题应该就是考的是格式化问题。如果是考的是输入0.5,那就没必要用1/2作为输入了。直接用%f用来接收浮点型的数据。希望能帮助到你理解格式化输入输出。
展开全部
c=1/2
printf(" 1/2=%d,c")
其中%d代表一个整数,逗号后面的c就是要输出的数字
如果有两个%d,逗号后面就要有两个被赋予数值的字符,例如
printf(" %d %d,c,c")
printf(" 1/2=%d,c")
其中%d代表一个整数,逗号后面的c就是要输出的数字
如果有两个%d,逗号后面就要有两个被赋予数值的字符,例如
printf(" %d %d,c,c")
追问
scanf 输入
追答
scnaf("%d",特殊符号c),特殊符号手机打不来,是ctrl+7。
如果输入的是数字就是d,一个字符就是c,一穿字符就是s
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2016-03-23 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
printf("%d\n",1/2); 这样就可以实现输出了
更多追问追答
追问
我说的是通过scanf 输入
追答
可以这样写
char in[3];
int out;
scanf("%s",&in);
out=(in[0]-'0')/(in[2]-'0');
printf("%d\n",out);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询