c语言 按位取反反置数问题

C语言程序设计作业5_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
C语言程序设计作业5
同​济​大​学​软​件​学​院4​级​C​程​序​设​计​赵​钦​佩​班​级​作​业
阅读已结束,如果下载本文需要使用
想免费下载本文?
你可能喜欢C语言 反置数问题_百度知道
C语言 反置数问题
len); i--)
num = num + ((str[i] - '
for(i = 0。输入输出样例 输入样例; 10, int n){ n, int n){
int i, len2;取反
num1 = num(str1。要求, j--)
t = str[i];输入:
199#include &lt,包括两个整数;);。如果一个整数的末尾是以0结尾;
str[j] = t, str1),
return (str[0]),=j;
/;&#47,那么在它的反置数当中;
str[i] = str[j];
return 0,因此必须把这部分代码抽象为一个函数的形式;
del(str, num1;%s&quot, sum, j = (n-1);
posit(str2, j,中间用空格隔开;
return (str[0]);;0&#39:输入只有一行;#include &) * mul).h&gt, int n), str2);}char del(char str[];
scanf(&int num(char str[], len1);pause&
sum = num1 + num2;
if(sum == 0)
break。输出格式;
for(i = (n - 1);#include &lt,这些0就被省略掉了,即相应的结果, str[100] = {0}:
435 754输出样例;}char posit(char str[],而1200的反置数是21,1245的反置数是5421。比如说, len:输出只有一行, int n); i &
system(&char del(char str[];= 0, num2;0'}int num(char str[]; j &
sum = sum / i++)
/ j++)
str[j] = str[j+1]。请编写一个程序, len1);
scanf(&%s&quot, len2);/)
for(j = 0;
posit(str,求长;0' 求和
num2 = num(str2;这一步有问题了
str[i] = sum % 10;
len = strlen(str);
len1 = strlen(str1),然后计算这两个整数的反置数之和sum, str2[100] = {0}, len2);
int len1;%s&quot:由于在本题中需要多次去计算一个整数的反置数,输入两个整数, int n); ;&#47, int n){;
for (i = 0, mul = 1; i++;
mul = mul * 10.h&gt, num = 0,然后再把sum的反置数打印出来;&#92, str),char posit(char str[];/
&#47。输入格式;
int main(){
char str1[100] = {0}。
posit(str1.h&
len2 = strlen(str2);
if(str[0] == '
str[n] = &#39, len);
printf(&quot题目;}试过:一个整数的“反置数”指的是把该整数的每一位数字的顺序颠倒过来所得到的另一个整数; i &gt
提问者采纳
/%d\%d %d&int inverse(int m);\; k=inverse(b);或str[i] = sum % 10+48.h&
if(sum == 0)
break,int b){ int j,&a。; printf(&quot,b);string。, j=atoi(str);
int main(){ 两者的反置数的和是;);
}下面是我写的程序:
for(i = 0;。;n&#include &lt,供参考。;}int inverse_sum(int a:\0'int inverse_sum( j=inverse(a),&b); ,j;
return 0;;请输入两个正整数;n&quot。改正,b,sum);
/0'n& scanf(&0' sum=inverse_sum(a; return (j);;}int inverse(int m){ char str[6]:#include & } str[i]=' sum=inverse(sum):\;
sum = sum /=10; i++)
str[i] = sum % 10+&#39.h&
printf(&quot,int b); while(m) {
str[i++]=m%10+' int i,两数中间空一格;); 10恩
确实是注释的那一部分有错了是一个小小的错 sum%10是十进制
要想对应ascii码中的那个数
需要加上‘0’或48(‘0’的ascii码)也就是0要转换成‘0’
1转换成‘1’;
return j+k
提问者评价
其他类似问题
为您推荐:
其他1条回答
楼主应该可以改过来吧 或者在计算时候加上30H;
}你这个是字符;
sum = sum //
if(sum == 0) i++)
/ ,其他地方还好,或者自己随便写一下就好了for(i = 0,不是数字啊; 10;这一步有问题了
str[i] = sum % 10,可以用atoi函数
c语言的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁编程——反置数_百度知道
编程——反置数
输入两个整数。要求。请编写一个程序,然后再把sum的反置数打印出来,然后计算这两个整数的反置数之和sum。  输出只有一行,这些0就被省略掉了,1245的反置数是5421,即相应的结果,那么在它的反置数当中。如果一个整数的末尾是以0结尾一个整数的“反置数”指的是把该整数的每一位数字的顺序颠倒过来所得到的另一个整数,中间用空格隔开:由于在本题中需要多次去计算一个整数的反置数。比如说。  输入只有一行,包括两个整数,而1200的反置数是21,因此必须把这部分代码抽象为一个函数的形式
要用函数知识
提问者采纳
好,希望采纳,发送至邮箱,程序已经编号
提问者评价
其他类似问题
为您推荐:
其他1条回答
;if(n%10!=0)fun(n/%d&10)void fun(int n){if(n&#47,n%10);10!=0)printf(&quot
您可能关注的推广回答者:回答者:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁【C语言】求帮忙改一小点程序!_百度知道
【C语言】求帮忙改一小点程序!
求出的是x;
if(b&lt。请编写一个程序;10&&b&gt,输入两个整数;
int y,然后计算这两个整数的反置数之和sum,r);=10;/int hehe(int a) {
b=a%10;&#47.0;&#47,然后再把sum的反置数打印出来,中间用空格隔开;%d&#include&lt。  输入格式;;和的反置数
printf(&quot、y的和】
r=hehe(z):输入只有一行:输出只有一行;
int b,包括两个整数;j++)
w*=10;求出反置数 }int sum(int x:#include&
m=hehe(x);y的反置数
z=sum(m;=1) {
n=i+1。  输出格式,即相应的结果;n;
o=hehe(x);&#47。  输入输出样例样例输入435 754样例输出199我写的;stdio.h&; x的反置数
n=hehe(y);x的反置数与y的反置数的和 【有错,&x;/求出的是位数 }
for(j=0.h&/
int w=0,int y){//
scanf(&i&lt,i);
return 0;5;i++) {
b=a/相加 }int main(){
p=hehe(y);/pow(10;/j&lt,n);
a//
w+=b;/
return o+p;/%d %d&quot,&y);&#47描述一个整数的“反置数”指的是把该整数的每一位数字的顺序颠倒过来所得到的另一个整数
提问者采纳
&nbsp你好;scanf(&}int&&&&&&int&&nbsp,&w=0;&&o;&o=hehe(x);&int&&}&&&&n;&&x;0;&main(){&&p;&nbsp,n);int&&i&&&&nbsp.h&&o;&&&&&&m=x;return&&&&&5;int&&//&&&&hehe(int&&return&&nbsp,&#include&
if(b&&&j++)&nbsp:&&&&&&&&int&&&&&int&&&&sum(int&&&&r;//&&&&&&&nbsp!&&&&&&&&&&&&&&&&&y);&&&&b&&&&&&&&&&&&sum(int&&//y的反置数&int&int&&&w+=b;&&&&&&&&return&&o+p;&&&&nbsp:&}&&&nbsp,就不要在主函数内有了;&&&o+p;&&&&nbsp.0;&w;&&int&&&&&&m;&&&&主函数的下面两句删除;&&&int&x;&&&&&&&你下面的函数内;//&&&&j;%d&=1) {
n=i+1;//求出的是位数 }&&w*=10;for(i=1;&x;&nbsp,r);&&&&&&&n=hehe(y).h&&nbsp:#include&&&y;&int&&int&&x的反置数&&&i++) {
b=a/pow(10;&&int&&&{&a)&}&&&&&&y)&&&&&n;z=sum(m;&&&&&n=y;b;&&&&&&//相加&&//相加&&&&&&return&&&&nbsp,int&&z,int&&&p=hehe(y);&for(j=0;&&;&&o=hehe(x);修改后的完整代码是;&&&&&&&&&&&&&&&m=hehe(x);&{&&&&&&//和的反置数&//x的反置数与y的反置数的和&&&&&&int&&&a/=10;&&int&&&已经含有反置数了&nbsp,i);&&&&&&&&nbsp,已经含有反置数了;&&&&j&i;printf(&&&&&&&&&&&%d&&p;&&&&&&&&&&//求出反置数&&&&int&{&&&&&已经含有反置数了&&&&&&&&&&&&}int&&%d&&r=hehe(z);&x;&&&&&&;&&&&int&&n;&&nbsp!;&b=a%10;p=hehe(y);y){&&10&amp
提问者评价
其他类似问题
为您推荐:
其他1条回答
&&n;&&&& z=sum(x;&} for(j=0;;&&w=0;a)& p=hehe(y);i++) {
b=a/pow(10;5;#include&&& int&//y的反置数&&nbsp,因为你在sum函数中已经求x和y的反置数了;z;&nbsp,i);&//相加&//和的反置数&a/=10;%d\n&i&lt。// m=hehe(x);y)、y的和】&return&【有错; o=hehe(x); int&&&&&&i;&return&&,y);%d&&
if(b& for(i=1.0;10&&x;& int&& }int&o;b=a%10; printf(&p;x,&r;y){ int&& r=hehe(z);y;%d&//求出反置数&o+p; int&j++) {&nbsp.h&&m;&//求出的是位数
}&nbsp,求出的是x;下面的这两句是没必要要的;x的反置数&}int&nbsp,&x;&//&nbsp,int& int&n;//x的反置数与y的反置数的和& } return&&j&& int&&hehe(int&// n=hehe(y);&&&w*=10;{ int&&int&&&main(){ int&&& int&=1)
n=i+1; scanf(& int&&b; int& int&&nbsp,r);&b&w+=b;&j.h&0;sum(int&n;w; //&&&nbsp#include&lt
c语言的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁反制数C语言程序问题_百度知道
反制数C语言程序问题
sum);0&#39,中间用空格隔开;0&#39,然后再把sum的反置数打印出来,b;
int inverse_sum(int a:编写一个程序;
printf(&quot,即相应的结果;
k=inverse(b).h&gt,b);:输入只有一行;%d&#92:
str[i++]=m%10+'
j=atoi(str);0';%d %d&math,包括两个整数;
return j+k;
}希望能详细的解释一下;
int main()
i=0,输入两个整数;
int inverse(int m)
char str[6];n&quot.h&gt.h&&#92,int b):输出只有一行。  输入格式;int inverse(int m): #include &
str[i++]=m%10+'
str[i]='
str[i]=&#39?解释一下关键步骤;stdio,int b)
return j+k,这个程序是怎样(或是用什么原理)编的,k;#include &\#include &lt,然后计算这两个整数的反置数之和
sum=inverse_sum(a;=10。 看到这样一个程序;
return (j);
return 0;;,&b);
j=inverse(a);int inverse_sum(int a,j;;
sum=inverse(sum),还有这几步,sum题目是这样;都是什么意思和用法;0&#39。输出格式
提问者采纳
比如12345%10 = 5。 inverse函数就是反制用的;10,然后反着拼这个程序的基本算法就是把一个数的每一位都拿出来,然后字符数组再往前走一格,比如输入12345;&#92。return j+k 是把两个反制的结果相加后返回atoi 就是把 字符数组 变成整数,输出54321m%10的意思是取余数。str[i++]= 这个就是把余数放到字符数组里,再进入循环,最后把字符数组再转回数;0结尾;0' 是C语音里字符数组必须要以&#92。str[i]=&#39,也就是m=1234, 然后m=m&#47
str是什么特定的函数吗?还是自己定义的?‘’单引号是和双引号“”用法一样是吗?谢谢!
str是前面定义好的一个字符串数组。 char str[6];单引号是字符,双引号是字符串,不一样。字符串是由多个字符组成的
提问者评价
其他类似问题
为您推荐:
c语言程序的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 c语言 按位取反 的文章

 

随机推荐