你的文本框只能输入正整数不正确。要求文本框只能输入正整数内容为整数

输入一个不多于5位的正整数,要求: (1)求它是几位数;(2)逆序打印出各位数字。
输入一个不多于5位的正整数,要求: (1)求它是几位数;(2)逆序打印出各位数字。 20
#include&stdio.h&void main(){int a,x,y,b;scanf("%d",&a);b=a/10; if(b&1 && b&=0) {x=1;y=a%10;}if(b&10 && b&=1) {x=2;y=a%10*10+a/10;}if(b&100 && b&=10) {x=3;y=a%100%10*100+a%100/10*10+a/100;}if(b&1000 && b&=100) {x=4;y=a%*1000+a%*100+a%+a/10000;}if(b&10000 && b&=1000){ x=5;y=a%%100%10*10000+a%%100/10*1000+a%/100*100+a%*10+a/10000;}if(y&0&&x&0)printf("%d\n%d\n",x,y);else if(b&=0||b&=10000 ) printf("Invalid input\n");}
求大侠帮忙看看哪里错了。为什么输入一千的时候没有结果、还有输入4678的时候输出了8760.急。。。请给出修改后的正确程序。
楼主你整个算法就有错误&& 首先按你这种算法10.100.的时候只会输出1.因为01.001.0001都是1,还有楼主你求位时太复杂了& 看下我这个程序把& 方法和你差不多&&
#include&stdio.h&int main(){&int a,b,c,d,e,m;&printf("please enter a number:\n");&scanf("%d",&m);&a=m/10000;//求万位&b=m%;//求千位&c=m%;//求百位&d=m%100/10;//求十位&e=m%10;//求个位&if(a!=0)&&printf("5,%d%d%d%d%d",e,d,c,b,a);&else&&if(b!=0)&&&printf("4,%d%d%d%d",e,d,c,b);&&else&&&if(c!=0)&&&&printf("3,%d%d%d",e,d,c);&&&else&&&&if(d!=0)&&&&&printf("2,%d%d",e,d);&&&&else&&&&&if(e!=0)&&&&&&printf("2,%d",e);&return 0;}求余的次数没必要那么多&& 像你的a%%100%10其实就相当于a%10!!!!
恩恩。麻烦你了。但是能不能帮我稍微修改下要求输出的时候位数和那个逆序两个是在两行显示中间也不要逗号。麻烦了。
这个简单啊&&
把逗号都改成\n& 比如printf("5\n%d%d%d%d",e,d,c,b,a);
其他回答 (1)
好简单的说……你要C还是C
还是java的源码
就是c语言啊。在我编的基础上稍加修改。让它符合要求不可以吗?
相关知识等待您来回答
编程领域专家
& &SOGOU - 京ICP证050897号当前访客身份:游客 [
当前位置:
import java.io.BufferedR
import java.io.InputStreamR
public class Stringput {
public static void main(String[] args) {
String s1 = null, s2 = null, ss, si,
int i1, i2;
float f1, f2;
BufferedReader strin = new BufferedReader(new InputStreamReader(
System.in));
System.out.print(&请输入第一个字符串:&);
s1 = strin.readLine();// 按行读取,当读到流的末尾时返回null
System.out.print(&请输入第二个字符串:&);
s2 = strin.readLine();
} catch (Exception e) {
System.out.println(e.getMessage());
i1 = Integer.parseInt(s1);
i2 = Integer.parseInt(s2);
f1 = Float.parseFloat(s1);
f2 = Float.parseFloat(s2);
ss = strAdd(s1, s2);
si = strAdd(i1, i2);
sf = strAdd(f1, f2);
System.out.println(&输入的两个字符串相加结果为:& + ss);
System.out.println(&输入的两个字符串转换成整数相加结果为:& + si);
System.out.println(&输入的两个字符串转换成浮点数相加结果为:& + sf);
} catch (Exception e) {
System.out.println(&输入的不合法,请重新输入!&);
static String strAdd(String str1, String str2) {
return str1 + str2;
static String strAdd(int i1, int i2) {
return String.valueOf(i1 + i2);
static String strAdd(float f1, float f2) {
return String.valueOf(f1 + f2);
共有1个答案
<span class="a_vote_num" id="a_vote_num_
System.out.print(&请输入第一个字符串:&);
s1 = strin.readLine();// 按行读取,当读到流的末尾时返回null
System.out.print(&请输入第二个字符串:&);
s2 = strin.readLine();
} catch (Exception e) {
System.out.println(e.getMessage());
这个try没必要吧
--- 共有 8 条评论 ---
(2年前)&nbsp&
: 谢啦,已经搞定了!
(2年前)&nbsp&
: catch以后所在函数就不会往后执行了,可以尝试在另一个函数里输入转换,然后将结果返回,在main函数里重复执行该函数,知道它返回了正确的结果
(2年前)&nbsp&
: 已经看了那位的帖子,写了半天没写出来。
(2年前)&nbsp&
: 你上个帖子里有个人说的挺对的,在while里用个标志位,当不抛出异常时,将标志位改成特定值,然后while判断该标志位来决定什么时候跳出循环
(2年前)&nbsp&
更多开发者职位上
有什么技术问题吗?
刀锋的其它问题
类似的话题用Java 编写一个求数的位数的程序。题目:由键盘输入一个不多于9位的正整数,要求输出它是几位_百度知道
用Java 编写一个求数的位数的程序。题目:由键盘输入一个不多于9位的正整数,要求输出它是几位
....else if用if
提问者采纳
).next():& &).println(&位&quot.您输入的数字位数为.Scanner.println(&
Scanner input = new Scanner(S请输入一个不多于9位的正整数.nextInt().println(&
Scanner input = new Scanner(System:import java.:&quot.length()-1;):public class Prictise { public static void main(String.
int count=+=9)
if(new Integer(Integer.
String info = input.println(&
if(请输入一个不多于9位的正整数;
} }}方法二.Scanner.length()&lt..strings) {
S+count+&您输入的信息不符合规定&=9){
int info=input.println(&public class Prictise { public static void main(S).strings) {
S您输入信息不符合规定&quot.out..util.out方法一;
}catch(Exception e){
System.in).in).parseInt(info)) instanceof Integer){
} catch (NumberFormatException e) {
System.out:&).length()+&位&);
String str=info+&您输入的数字的位数为:&.println(&
if(count&lt
提问者评价
嗯,谢谢~~
其他类似问题
为您推荐:
其他1条回答
String str = s.println(&););error&quot.println(&quot.length();
if(i&lt.*;9){
System.println(&quot.out.nextLine().位&您输入的数字位数为.);public class Num{ public static void main(String[] args){
S+ i +&quot:&
Scanner s = new Scanner(S
int i =请输入一个数&quot.in).
键盘输入的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁从键盘输入三个正整数,判断否能构成三角形的三边?如果能,就计算三角形的面积;如果不能,就输出“不能构成三角形”的提示信息
[问题点数:40分,结帖人yabyijue]
从键盘输入三个正整数,判断否能构成三角形的三边?如果能,就计算三角形的面积;如果不能,就输出“不能构成三角形”的提示信息
[问题点数:40分,结帖人yabyijue]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。程序填空,不要改变与输入输出有关的语句.输入一个正整数 repeat (0_百度作业帮
程序填空,不要改变与输入输出有关的语句.输入一个正整数 repeat (0
程序填空,不要改变与输入输出有关的语句.输入一个正整数 repeat (0
你用的是编程的自动判断系统吗?如果是的话请注意输出的大小写,比如你输出语句中的the应该首字母大写,其他的还有空格啊之类的东西,要保持和它输出样例的一致.以前这个东西也纠结了我好久,祝你好运……

我要回帖

更多关于 输入两个正整数m和n 的文章

 

随机推荐