| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1679 人关注过本帖, 1 人收藏
标题:对于《编程题》的帖子自己所作的程序,自己很满意,众位请评判。
取消只看楼主 加入收藏
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
结帖率:94.74%
收藏(1)
 问题点数:0 回复次数:5 
对于《编程题》的帖子自己所作的程序,自己很满意,众位请评判。
程序代码:
/*
此程序为避免死循环,特加一变量控制,当循环过4次后,跳出while循环,结束程序.  

由于鄙人新手,所以所作程序难免有些欠妥,不免让高手们贻笑大方。哪有待改进之处,还望各位不误吝指教,谢谢。
*/
#include<stdio.h>
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~输入一个四位数*/
int shuru()    
{
        int i;
        char c;
        do
        {
                system("cls");
                printf("请输入一个四位整数:\n");
                scanf("%d",&i);
                while(c=getchar()!='\n'&&c!=EOF);
                puts(" ");
                if(i<1000||i>9999)
                {
                        printf("您的输入有误,请重新输入。\n");
                        sleep(1);
                }
        }
        while(i<1000||i>9999);

        return i;
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~转换*/
void zhuanhuan(int *a,int *b)
{
        int t;
        t=*a;
        *a=*b;
        *b=t;
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~逆排序*/
int paixu_n(int a)
{
        int b[4],i,j;
        b[0]=a/1000;
        b[1]=(a-b[0]*1000)/100;
        b[2]=(a-b[0]*1000-b[1]*100)/10;
        b[3]=a%10;
        for(i=0;i<4;i++)
                for(j=0;j<4;j++)
                        if(b[j]<b[i])
                                zhuanhuan(&b[i],&b[j]);
        return b[0]*1000+b[1]*100+b[2]*10+b[3];
}
/*?~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 顺排序*/
int paixu_s(int a)
{
        int b[4],i,j;
        b[0]=a/1000;
        b[1]=(a-b[0]*1000)/100;
        b[2]=(a-b[0]*1000-b[1]*100)/10;
        b[3]=a%10;
        for(i=0;i<4;i++)
                for(j=0;j<4;j++)
                        if(b[j]>b[i])
                                zhuanhuan(&b[i],&b[j]);
        return b[0]*1000+b[1]*100+b[2]*10+b[3];
}

/*###################################################### 主函数*/
int main(void)
{
        int yuansu,zhuanhuan_s,zhuanhuan_n,zhi;
        int i=0;
        yuansu=shuru();      /*~~~~~~~~输入四位数*/
        zhuanhuan_n=paixu_n(yuansu);/*~~~~~~~~~~~~~~首次将这四位数转换为逆序*/
        while(1)
        {
                zhuanhuan_n=paixu_n(zhuanhuan_n);/*~~~~~~~~~~循环一次以后,将新得到的数字再排序*/
                zhuanhuan_s=paixu_s(zhuanhuan_n);/*~~~~~~~~~将逆序的数字顺序排列*/
                zhuanhuan_n-=zhuanhuan_s;  /*~逆序与顺序数相减,新值赋与变量zhuanhuan_n */
                printf("%d\n",zhuanhuan_n);/*~~~输出得到的结果*/
                if(zhuanhuan_n==6174)
                        i++;  /*~~~~~~~~~~~~~当值为死循环值时,i值增1*/
                if(i>=3)
                        break;  /*~~~~~~~~~~当死循环4次后,跳出程序*/
        }

        printf("*******************************\n\n%d\n",zhuanhuan_n);


        getch();
}
     
搜索更多相关主题的帖子: 编程题 帖子 评判 
2008-04-10 20:51
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
回复 2# 的帖子
对不起,偶是“鹰盲”。呵呵,不过以后慢慢会多学习些的,毕竟现在已经知道了max的意思了,算是纵向提高了一下。

    谢谢你,希望以后多得到你的批评与帮助。
2008-04-10 21:11
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
[bo]以下是引用 [un]雨中飞燕[/un] 在 2008-4-10 21:09 的发言:[/bo]

先占个位留准备帖代码。。。。。

想告诉LZ,你的代码稍显累赘

http://blog.



哈哈,真有意思,这也不是大学生自习室,还要占座儿~~~

笑得我肠子都快拧劲了~~~~~~~~~

不过对于你的批评,我接受。
第一:由于我的思想好象过于优柔寡断,所以程序好象有些过于繁复,以后会注意改进;
第二:由于我的修炼还欠火候,所以对于程序的节奏和语法还有待提高,谢谢你的批评,我会努力。
2008-04-10 21:15
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
回复 7# 的帖子
谢谢,也同样谢谢雨中飞燕,你们使我看到了自己的不足以及很大的差距。我会好好学C,天天向上,尽量缩短与你们的距离。

    雨中飞燕的程序,我会作为一个难点来攻克,因为我现在还看不懂它,当我能弄懂它的时候,我的算法也会提升一些的——我想应该是的。

    谢谢大家。
2008-04-10 23:49
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
回复 15# 的帖子
水能载舟,亦能覆舟。电脑能帮人,电子游戏却能害人。手工高亮没什么不好,帮助阅读,而且对于特定的符号也能一目了然。

    如果是在编译器下是十分好的,但如果为了在论坛上出风头就大可不必(不是说你,如果你是自己写的高亮程序而且是为了工作)。有手工高亮的工夫,倒不如去学习。

    如果是程序高亮,偶十分佩服和赞同。如果是在论坛上发帖子而手工高亮,只能说这人太闲了。
2008-04-11 14:11
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
可以把此功能放到论坛的脚本中来
如果想方便大家,而且不蔽帚自珍的话,大可向静夜思建议,把你的代码贡献出来,放到论坛脚本中,这样大家都可以享受这种便利。你大可不必自己独享这种成果而向大家炫耀你的高超。
2008-04-11 14:27
快速回复:对于《编程题》的帖子自己所作的程序,自己很满意,众位请评判。
数据加载中...
 
   



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

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