java将一个整数中的快速求整数每一位的和上为奇数的数依次取出,构成一个新数并输出。高位仍在高位,低位仍在低位。

新手求助一个java数组题目。如何把数组中出现奇数次的数输出。
[问题点数:40分]
新手求助一个java数组题目。如何把数组中出现奇数次的数输出。
[问题点数:40分]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
匿名用户不能发表回复!|C语言纠错,求问这个代码为什么是错的_百度知道
C语言纠错,求问这个代码为什么是错的
【问题描述】将一个整数中的每一位上为奇数的数依次取出,构成一个新数并输出。高位仍在高位,低位仍在低位。【输入形式】输入一个整数【输出形式】输出构成的新数【样例输入1】【样例输出1】7531【样例输入2】-123456【样例输出2】-135
#include&...
我有更好的答案
&&nbsp,x;&%d& return 0;y++)&nbsp.hiphotos.baidu.com/zhidao/wh%3D450%2C600/sign=ed65ce6f09fa513d51ff64da085d79cd/43a7d933c895d143d1a1bfbaf07a9,当y=i时明显已经越界了!我已经在你的基础上,y,你怎么可能还能计算;y&=i://e;& for(y=0;y&lt.h&int main(){&i!=0) &&nbsp. if(x%2;&%d&quot.jpg" esrc="http!=0){&nbsp!第三; for(k=i-1;k&gt.hiphotos.baidu.com/zhidao/wh%3D600%2C800/sign=d506e06bacb990dc24c2/43a7d933c895d143d1a1bfbaf07a9;}&& }&&nbsp??,if(x%2!=0) a[i]=x;&nbsp,请问-123456;&nbsp://e;&nbsp.com/zhidao/pic/item/43a7d933c895d143d1a1bfbaf07a9.jpg" target="_blank" title="点击查看大图" class="ikqb_img_alink"><img class="ikqb_img" src="&nbsp,y++)里面i怎么可能等于y,根据你上面的计算,帮你修改代码如下:#include&&nbsp,显然不正确;&希望我的回答对你有帮助;&while(n; n=n/10;&n);&i=0; &&& &i++;这里,即使x是偶数; x=n%10,for(y=0,a[80],你i也++,k;&0)这里如果是这样楼主你好!你的代码有3个地方有问题!第一,while(n&&nbsp
采纳率:63%
if(x%2;y&=i;
/&#47!=0) a[i]=x; //y++)
// 这里中间的判断条件应该是y&lt两个地方;i
printf(&%d&; 这里改成a[i++] = x
i++; 这行去掉第二处for(y=0,a[y])
#include&&stdio.h&int&main(){ int&n,x,k,i,y,num,a[80]; scanf(&%d&,&n); i=0;& while(n&0) {
if(x%2!=0)
a[i]=x;//这里要用{}括起来
n=n/10; } for(y=0;y&i;y++)//这里不能等于i,因为a[i]没有赋值
printf(&%d&,a[y]); num=0; for(k=i-1;k&=0;k--)
num=num*10+a[k]; printf(&%d&,num); return&0;&}要注意,if后面的执行语句超过1句就要用{}括起来,不然系统默认的是第一句!
首先,注意你的写码风格。其实这道题你已经做的八九成了,错误的原因就是你写码风格导致的。注意循环时括号的范围。正确代码如下:{ int n,x,k,i,y,num,a[80]; scanf(&Pls input a number:%d&,&n); i=0;
while(n&0){
if(x%2!=0){
n=n/10; } for(y=0;y&i;y++){
printf(&get it is:%d&,a[y]); } printf(&&#92;n&); num=0; for(k=i-1;k&=0;k--){
num=num*10+a[k]; } printf(&result is %d&,num); return 0;}
不要用数值型的直接用字符型将字符串一个个判断,是否属于奇数(可以检查ASCII码,比如-是45,1是49)是的话直接打印出来就行了(不要换行)
其他1条回答
为您推荐:
其他类似问题
c语言的相关知识
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。2017年计算机二级C语言考前模拟试题及答案9_计算机等级考试_无忧考网
2017年计算机二级C语言考前模拟试题及答案9
15:43 来源:网络综合
计算机等级网权威发布2017年计算机二级C语言考前模拟试题及答案9,更多2017年计算机二级C语言考前模拟试题及答案9相关信息请访问计算机等级考试网。
  二、程序填空题(共18分)
  下列给定程序中,函数fun的功能是:将形参n中个位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新数,作为函数值返回。
  例如,输入一个整数,函数返回值为64862。
  请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANKl.C中。
  不得增行或删行,也不得更改程序的结构!#include
  unsigned long fun(unsigned long n){unsigned long x=0;int t;
  三、程序修改题(共18分)
  下列给定程序中函数fun的功能是:将长整型数中各位上为奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。
  例如,当s中的数为时,t中的数为7531。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODll.C中,不得增行或删行,也不得更改程序的结构!
  四、程序设计题(共24分)
  编写函数fun,其功能是:实现两个字符串的连接(不要使用库函数strcat),即把p2所指的字符串连接到pl所指的字符串的后面。
  例如,分别输人下面两个字符串:FirstString--SecondString
  程序运行后的输出结果是:FirstString――――SecondString
  注意:部分源程序在文件PROGl.C中。
  请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
  二、程序填空题【参考答案】
  (2)10*x
  (3)n/10
  【考点分析】
  本题考查:已知某数,如何求该数各个位数值,已知各个位数值,如何表示该数;除法运算。
  【解题思路】
  填空l:定义变量t用来存放某数的各个位数值,此处判断t是否为偶数,即对2求余结果是否为0。
  填空2:将t作为x的个位数,原来x的各个位上升l位,即x=10{x+1。
  填空3:每循环一次,通过除法运算,去掉数值最后一位。
  【解题宝典】
  如果知道某数n的各个位的数值,可以得到该数值n,如n的个位为a、十位为b、百位为c,那么n=c}100+b*10+a。如果知道数值n,可以采用求余和除法操作来表示其各个位,如n%10(取个位)、n/J0(取十位),读者可以自己考虑一下,如果是三位数,如何提取各个位?四位数呢?
  三、程序修改题【参考答案】(1)}t=0;(2)if(d%2 1=O)或if(d%2==1)
  【考点分析】
  本题考查:指针型变量作为函数参数;if语句条件表达式,结合奇偶数的表示方法来确定该表达式内容。
  【解题思路】
  (1)由函数定义可知,变量t是指针变量,所以对t进行赋初值0是不对的。因为t指向的是存放新数的变量,所以此处应给新数赋初值0,即。t=0。
  (2)变量d表示数S各个位上的数,此处的if条件应为判断d是否为奇数。
  四、程序设计题【参考答案】voidfun(char pl[],char p2[])
  in“,j;
  for(i=0;pl[i]f=。、0’;i++);
  for(j=0;p2[j]!=。、0’;j++)p1[i++]=p2[j];
  p1[i],_。、0’;}
  【考点分析】“
  本题考查:不使用字符串函数实现字符串连接操作。通过for循环语句来完成,不要忘了最后需要加上字符串结束标识‘、0’。
  【解题思路】
  本题用两个循环完成操作,第1个循环的作用是求出第l个字符串的长度,即将i指到第1个字符串的末尾。第2个循环的作用是将第2个字符串的字符连到第l个字符申的末尾。最后在第l个字符串的结尾加上字符串结束标识‘、0’。将一个整数中的每一位上奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。C语言
16-04-28 &匿名提问与《》相关:
- Copyright & 2017 www.xue63.com All Rights Reserved

我要回帖

更多关于 java获取数字的每一位 的文章

 

随机推荐