| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2377 人关注过本帖
标题:编程题
只看楼主 加入收藏
zhengxiang3014
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2008-4-5
收藏
 问题点数:0 回复次数:22 
编程题
任给一个四位数(各位数不完全相同),各位数从大到小排列成新的四位数,然后用此四位数减去其逆序数,得到了新的四位数,如此运行下去,得最终结果为7164这个死循环.能告诉我怎么样编出程序来吗??
搜索更多相关主题的帖子: 位数 逆序 排列 结果 
2008-04-10 14:09
yd4433
Rank: 1
等 级:新手上路
帖 子:404
专家分:0
注 册:2008-3-9
收藏
得分:0 
#include<stdio.h>
void main()
{
    int n,a,c=0;
 printf("请输入一个数");
 scanf("%d",&n);
  do
{
  while(n)
  {
    a=n%10;
    n=n/10;
    c=c*10+a;
  }
  // printf("%d",c);  //C shi paixu hou de  shu 家上个输出语句就看出来是否在循环
   a=n-c;
   
 }while(c!=7164);

}

[[it] 本帖最后由 yd4433 于 2008-4-10 15:12 编辑 [/it]]

------...-.-..-...-----........-------.......----.....------....||- - !
2008-04-10 15:05
zhengxiang3014
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2008-4-5
收藏
得分:0 
[un][it][bo]还是运行不了啊!!![/bo][/it][/un]
2008-04-10 15:44
yd4433
Rank: 1
等 级:新手上路
帖 子:404
专家分:0
注 册:2008-3-9
收藏
得分:0 
不会把//去掉运行呀没输出语句当染 看不出来

------...-.-..-...-----........-------.......----.....------....||- - !
2008-04-10 15:52
yd4433
Rank: 1
等 级:新手上路
帖 子:404
专家分:0
注 册:2008-3-9
收藏
得分:0 
本身就是个死循环 一直到 题目要求的 得最终结果为7164这个死循环.  建议换个编译器 不要TC  要不染 想关都难

------...-.-..-...-----........-------.......----.....------....||- - !
2008-04-10 16:02
zhengxiang3014
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2008-4-5
收藏
得分:0 
我输入的是下面这个程序啊!  看一下错了没?

#include<stdio.h>
void main()
{
    int n,a,c=0;
printf("please input your number:");
scanf("%d",&n);
  do
{
  while(n)
  {
    a=n%10;
    n=n/10;
    c=c*10+a;
  }
  printf("%d",c);  
   a=n-c;
   
}while(c!=7164);

}
2008-04-10 16:35
yd4433
Rank: 1
等 级:新手上路
帖 子:404
专家分:0
注 册:2008-3-9
收藏
得分:0 
想知道代码错没错  分析下就会知道   
while(n)
  {
    a=n%10;
    n=n/10;
    c=c*10+a;
  }
  着是求分解数 然后循环加 效果 是 输入321 输出 123
a=n-c;
着是求 出 然后用此四位数减去其逆序数,得到了新的四位数,

------...-.-..-...-----........-------.......----.....------....||- - !
2008-04-10 16:39
lnhaing
Rank: 1
等 级:新手上路
帖 子:111
专家分:0
注 册:2008-1-30
收藏
得分:0 
你就是把输入的数变成最大,无限OUT!
有什么意义!

我来自偶然! bitter C
2008-04-10 16:44
雨中飞燕
Rank: 3Rank: 3
等 级:禁止访问
威 望:8
帖 子:2200
专家分:0
注 册:2007-8-9
收藏
得分:0 
[bo]以下是引用 [un]yd4433[/un] 在 2008-4-10 16:39 的发言:[/bo]
想知道代码错没错  分析下就会知道   
while(n)
  {
    a=n%10;
    n=n/10;
    c=c*10+a;
  }
  着是求分解数 然后循环加 效果 是 输入321 输出 123
a=n-c;
着是求 出 然后用此四位数减去其逆序数,得到了新的四位数,

我来告诉你吧,你这代码是错的,和它题目本身不符
碰巧得到的结果和原问题一样而已

" border="0" />
2008-04-10 16:51
yd4433
Rank: 1
等 级:新手上路
帖 子:404
专家分:0
注 册:2008-3-9
收藏
得分:0 
代码是错的?? 楼上  分解数 不是这样分解的?? 说清楚点  题目说了要输入 4位 谁那么 无聊输入 4位 要是真有人这么无聊 那就加和判断 记数器

------...-.-..-...-----........-------.......----.....------....||- - !
2008-04-10 16:58
快速回复:编程题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012569 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved