
为什么我这个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;}作用是为了输入一个 三位数字 然后逆序排列出来。 利用 算数分割的方法 可以显示这个 会,现在这题 是让你 不用 算术分割。 我这样做的 看不明白我的代码为啥运行不下去。谁帮我找下原因?
展开
2个回答
展开全部
亲,直接输入一个串数字,表示的变量是第一个变量哦,相当于第一个变量接收的值是123,而后边的两个变量还没有值,所以才提示你继续输入,而没有运行结果。解决方法如下:
利用空格分隔变量,输入的时候输一个变量空一格,比如:1 2 3,这样输入的才表示三个变量分别接收。
利用回车分隔,输一个数字回车一次,如:
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. 在存储器中用未初始化的...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
展开全部
源码没错。
输入数值时,在两个数值之间需要插入空格,让系统能区分。
这样输入,1空格2空格3回车
输入数值时,在两个数值之间需要插入空格,让系统能区分。
这样输入,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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询