本人C语言初学者.题:取出一个无符号的十进制整数中的所有奇数数字,按原来的顺序组成一个新的数.
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/06 07:26:52
本人C语言初学者.题:取出一个无符号的十进制整数中的所有奇数数字,按原来的顺序组成一个新的数.
#include
int main()
{
int x,t,p,m=0,y=0;
scanf("%d",&x);
while(x!=0)
{
t=x%10;
x=x/10;
if(t%2!=0)
m=m*10+t;
}
while(m!=0)
{
p=m%10;
m=m/10;
y=y*10+p;
}
printf("%d",y);
return 0;
}
我这个编程不知道麻烦不麻烦哈,不过随便打几个数都能按题目要求得出答案的,可是一旦输入的数的位数一多 比如十多位 结果就不对了 请问高手这是为什么吖.我的程序有错误吗.
#include
int main()
{
int x,t,p,m=0,y=0;
scanf("%d",&x);
while(x!=0)
{
t=x%10;
x=x/10;
if(t%2!=0)
m=m*10+t;
}
while(m!=0)
{
p=m%10;
m=m/10;
y=y*10+p;
}
printf("%d",y);
return 0;
}
我这个编程不知道麻烦不麻烦哈,不过随便打几个数都能按题目要求得出答案的,可是一旦输入的数的位数一多 比如十多位 结果就不对了 请问高手这是为什么吖.我的程序有错误吗.
因为十多位的时候,数据溢出了,你把读入的数存在int上,以目前一般的32位平台,int最大都只支持4294967296,更别说16位了,你输入的超过这个,int类型就存不下了.你这种题目应该用字符串读取,然后对每一位进行处理.
读取一个字符串,然后从第一位开始判断,是奇数就取出来放到另一个字符串,最后处理完了就直接把另一个字符串打印出来就行了.
读取一个字符串,然后从第一位开始判断,是奇数就取出来放到另一个字符串,最后处理完了就直接把另一个字符串打印出来就行了.
本人C语言初学者.题:取出一个无符号的十进制整数中的所有奇数数字,按原来的顺序组成一个新的数.
C语言:整数各位取奇数!将一个整数中的每位上为奇数的数依次取出,构成一个新数放在t中!
1.从键盘输入一个无符号长整数n,将各位上为偶数的数取出,并按原来从高位到低位的顺序组成一%B
C语言求救,急.编写一函数,将形参N中各位上为偶数的数取出,按原来从高到低位的顺序组成一个新的数,并作为函数值输出.
c语言程序题 求输入的一个无符号整数各位数字之积.
一个字节由8位二进制位组成,能表示的最大无符号十进制整数是多少?
C语言:从键盘读入一个整数Num,按从小到大的顺序依次输出所有满足条件的3位数:该数各位数字的立方和
一个无符号十六进制整数的右边加上一个0,新形成的数十原来的多少倍?
已知一个等比数列{an}的首项为a1,公比为q,取出数列{an}中的所有奇数项,组成一个新的数列,这个新数列是
c语言程序功能:从键盘输入一个不小于5位的整数x,将该数的所有偶数分别按顺序构成一个新数存入变量a中
用c语言编写程序 输入一个n位数的整数,提取其中的奇数,并用这些奇数组成一个最大的数
一个字节由8位二进制数组成,其最大容纳的无符号十进制整数为( ).A)255 B)233 C)245 D)47