为什么我这个C语言程序运行后输入数字程序无反应

源代码如下#include"stdio.h"intmain(void){intm,n,p;printf("输入一个三位数:");scanf("%d%d%d",&m,&n,... 源代码如下#include "stdio.h"int main(void){ int m, n, p; printf("输入一个三位数: "); scanf("%d%d%d",&m, &n, &p); printf("逆转后是: %d%d%d", p, n, m); return 0;}作用是为了输入一个 三位数字 然后逆序排列出来。 利用 算数分割的方法 可以显示这个 会,现在这题 是让你 不用 算术分割。 我这样做的 看不明白我的代码为啥运行不下去。谁帮我找下原因? 展开
 我来答
极夜_安雨
推荐于2017-12-15 · TA获得超过585个赞
知道小有建树答主
回答量:465
采纳率:66%
帮助的人:205万
展开全部

亲,直接输入一个串数字,表示的变量是第一个变量哦,相当于第一个变量接收的值是123,而后边的两个变量还没有值,所以才提示你继续输入,而没有运行结果。解决方法如下:

  1. 利用空格分隔变量,输入的时候输一个变量空一格,比如:1 2 3,这样输入的才表示三个变量分别接收。

  2. 利用回车分隔,输一个数字回车一次,如:

    1

    2

    3

    如有疑问,欢迎追问。

更多追问追答
追问
但是如果这样的话 就不能输入一个正常的三位数了 。我输入 1 2 3 这咋看都不像一个正常 三位数 。也就是 这样 失去程序目的了 。
追答
亲,你的程序是这样写的,如果你想要直接输入三位数,得自己编写代码把三位数分别取出来,比如输入123,取出百位数,假设b是百位数,n是输入的数,那么b=n/100,假设s是十位数,则s=n%100/10,假设g是个位数,则g=n%10,这样b,s,g(百,十,个位)就分别取出来了,然后逆序输出g,s,b则可以输出来了。
你要程序按你的想法做事,你就必须给出相应的算法,像你上面这种当然不可能输的出来,想要什么结果,就得自己去想,去编写计算机能够识别的代码,这样它才能按照你的想法做事,计算机是死的,人是活的。
如有疑问,欢迎追问。
意法半导体(中国)投资有限公司
2023-06-12 广告
单片机汇编程序是用汇编语言编写的程序,用于控制单片机的操作。汇编语言是一种比较接近计算机硬件语言的低级语言,相对于高级语言来说更容易理解和实现。下面是单片机汇编程序的基本步骤:1. 将代码和数据汇编到规定的段中。2. 在存储器中用未初始化的... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
梦中有门
2016-07-09 · TA获得超过385个赞
知道小有建树答主
回答量:655
采纳率:60%
帮助的人:240万
展开全部
源码没错。
输入数值时,在两个数值之间需要插入空格,让系统能区分。
这样输入,1空格2空格3回车
更多追问追答
追问
但是如果这样的话 就不能输入一个正常的三位数了 。我输入 1 2 3 这咋看都不像一个正常 三位数 。也就是 这样 失去程序目的了 。
追答
用字符类型处理数据。

# include

int main(void)
{
char a, b, c;

printf("请输入三位数:");
scanf("%c%c%c", &a, &b, &c);

printf("逆转后是:%c%c%c\n", c, b, a);

return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式