c#新人,有一段编码求解释!~!

问题描述

实验2-4:编程进行卡布列克运算。所谓卡布列克运算,是指任意一个四位数,只要它们各个位上的数字不全相同,就有这样的规律:1)把组成这个四位数的四个数字由大到小排列,形成由这四个数字构成的最大数字2)把组成这个四位数的四个数字由小到大排列,形成由这四个数字构成的最小的四位数3)求出以上两数之差,得到一个新的四位数重复以上过程,总能得到最后的结果是6174。相关的主要代码:usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespaceSY2_4{classProgram{staticvoidMain(string[]args){Console.Write("请输入一个4位整数");strings=Console.ReadLine();intnum=Convert.ToInt32(s);int[]each=newint[4];intmax,min,i,j,temp;while(num!=6174&&num!=0){i=0;while(num!=0){each[i++]=num%10;num=num/10;}for(i=0;i<3;i++)//从这一句到for(j=0;j<3-i;j++)if(each[j]>=each[j+1]){temp=each[j];each[j]=each[j+1];each[j+1]=temp;//这一句的循环表示神马意思啊?(真心菜鸟才学几天)}min=each[0]*1000+each[1]*100+each[2]*10+each[3];max=each[3]*1000+each[2]*100+each[1]*10+each[0];num=max-min;Console.WriteLine("{0}-{1}={2}",max,min,num);}Console.Read();}}}

解决方案

解决方案二:
while(num!=0){each[i++]=num%10;num=num/10;}

以上代码是把这个四位数的各位数字(各从个位开始)存在数组each中for(i=0;i<3;i++)//对数组进行由小到大排序for(j=0;j<3-i;j++)if(each[j]>=each[j+1])//如果前一个大于后一个数,交换位置{temp=each[j];each[j]=each[j+1];each[j+1]=temp;//交换}

对这个四位数的各个数字进行排序,方便获得得到四个数字组成的最大数和最小数
解决方案三:
明白点了,谢LS了!
解决方案四:
你的程序如果是老师给你学习的,那么这样的代码简直误人子弟。
解决方案五:
怎么说?
解决方案六:
设断点跟踪一下这个程序,用F10,F11来单步执行,这样对你理解会有帮助

时间: 2024-10-22 23:11:27

c#新人,有一段编码求解释!~!的相关文章

孙鑫-Visual C++的一段代码搞不懂求解释

问题描述 Visual C++的一段代码搞不懂求解释 说一下自己的理解.题目是孙鑫老是的文本输出的例子. 1:GetBkColor得到背景白色,然后SetTextColor(白色)把背景白色设置为文字颜色.跟着clr应该是赋值得到白色了吧,但是F5看的时候是黑色,就要原文字颜色.我这么理解应该错了 1 COLORREF clr=dc.SetTextColor(dc.GetBkColor()); //GetBkColor属于dc对象,改变dc中的背景值(白色).然后SetTextColor用白色值

ancy orm-用FancyForm添加用户角色,求解释这段代码,

问题描述 用FancyForm添加用户角色,求解释这段代码, var form = $('#form').FancyForm({ title: '添加角色' width: 345 height: 325 inputWidth: 190 labelWidth: 60 url: '<%=path %>/sysRoleController/addRole.do' params: { param1: 1 param2:'string' } defaults: { type: 'string' } it

ip地址-求解释下这段代码...感激不尽

问题描述 求解释下这段代码...感激不尽 u_long ulDestIP; u_long ulDestIP1=inet_addr(a); u_long ulDestIP2=inet_addr(b); unsigned long count = ntohl(ulDestIP2 - ulDestIP1)-1; struct in_addr in; unsigned long hostip; for(unsigned int i = 0; i <=count+1; i++) { hostip = nt

java web-这段代码看不懂啊,求解释

问题描述 这段代码看不懂啊,求解释 /s:iterator /s:iterator/sx:treenode/s:iterator </sx:treenode> </s:iterator> </sx:treenode> </s:iterator> 解决方案 <sx:tree label="%{#request.project.projectName}" id="parentId" > //项目名 <s:

堆栈-一段奇怪的代码,求解释

问题描述 一段奇怪的代码,求解释 代码的意思是说,在声明的时候,因为栈的分配原因(先入后出),k[10]就是i的地址.然后i就会被修改成0,循环再次开始,就这样出现了一个死循环.为什么k[10]就是i的地址呢? int m=1; int i =0; int k[10] = {0}; printf(""&m=%dn""&m); printf(""&i=%dn""&i); printf("

c++-找到一段代码不知道什么意思,求解释代码

问题描述 找到一段代码不知道什么意思,求解释代码 #include #define DIST(X,Y,A,B) DA=(X)-(A);DB=(Y)-(B);D=std::sqrt(DA*DA+DB*DB);C=std::max(1.0-(D/H)*(D/H)*(D/H),0.0)*100.0f; double X=25.0f,Y=25.0f,R=0.1f,H=0.5f,RADC=0.45f,D=0.99f,G=-9.81f; int NRX=ceil(X/H),NRY=ceil(Y/H); st

异常处理的代码,求解释下这段代码,拜托了

问题描述 异常处理的代码,求解释下这段代码,拜托了 异常处理应该是 try-catch-finally;这段代码只有try-finally,什么情况?怎么运行?怎么处理异常的?万分感谢 `Session sess = this.getSessionFactory().openSession(); try { return (GongWenLeiBie) sess.get(GongWenLeiBie.class id); } finally { sess.close(); } 解决方案 求这段代码

编程语言-我要用C++实现这段代码 求大神帮解释下R语言代码的意思

问题描述 我要用C++实现这段代码 求大神帮解释下R语言代码的意思 OrgData=read.csv("DownlinkPower_train.csv",header=T) TestData=read.csv("DownlinkPower_test.csv",header=T) #remove abnormal data, optional //移除异常数据 OrgData = subset(OrgData, OrgData[,1] > 0) TestData

whitespace-这段代码什么意思求解释

问题描述 这段代码什么意思求解释 #include #include #include #include //Constants #define LINELENGTH 100 // Function prototypes void reverse_words(char* words[], char* rwords[], int count); void print_words(char* words[]); int mark_words(char* line, char* words[]); /