c语言问题. 如果输入1/2.那如何输出1/2……

c语言问题.如果输入1/2.那如何输出1/2……... c语言问题.
如果输入1/2.那如何输出1/2……
展开
 我来答
百度网友ca08073
2016-03-23
知道答主
回答量:10
采纳率:0%
帮助的人:12.9万
展开全部

你这道题目考的不是要输入0.5(虽然1/2等于0.5)这个数,也不是输出0.5数值,这道题目应该是考的是格式化输入输出,而不进行计算的1/2内容。

解决办法有两种:

  1. 所以当你在终端上输入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用来接收浮点型的数据。希望能帮助到你理解格式化输入输出。

料露缸凶CE983
2016-03-23 · 超过22用户采纳过TA的回答
知道答主
回答量:74
采纳率:0%
帮助的人:48.7万
展开全部
c=1/2
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);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式