| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 870 人关注过本帖
标题:网上找的一个程序,高手帮忙加点注释
只看楼主 加入收藏
yaozidm124
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2008-4-20
收藏
 问题点数:0 回复次数:6 
网上找的一个程序,高手帮忙加点注释
#include <stdio.h>
#include <math.h>
main()
{
    int m,n=0,i,j,k;
   
    printf("Input N(3<N<20):");
    scanf("%D",&n);
   
    for(j=0;j<n;++j)printf("T");
    printf("\nTJ");
    for(j=0;j<n-4;++j)printf("J");
    printf("JT\n");
   
    m=(n-4)/2;
    for(i=-m;i<=m;++i)
    {
        printf("TJ");
        for(j=1;j<=m-abs(i);++j)printf("%d",j);
        if(i!=0)for(k=j*2;k<=(m)*2+m%2;++k)printf("%d",m-abs(i)+1);
        for(j=m-abs(i)+1;j>=1;--j)printf("%d",j);
        if(i==0&&n%2==0)for(k=0;k<n;++k)printf("\b");
        else
        printf("JT\n");
    }
   
    printf("TJ");
    for(j=0;j<n-4;++j)printf("J");
    printf("JT\n");
    }
搜索更多相关主题的帖子: printf 注释 
2008-04-20 18:41
龙年生
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2008-3-8
收藏
得分:0 
这个程序看个人头晕,但是也不难理解。
我试着注释了几行,但到了m=(n-4)/2;这儿就觉得程序太啰嗦。
你具体说一下哪些地方(比如for循环的条件,还是if语句不懂,也许可以给你理想的答复。
2008-04-20 18:56
yaozidm124
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2008-4-20
收藏
得分:0 
就这几行吧
 for(i=-m;i<=m;++i)
    {
        printf("TJ");
        for(j=1;j<=m-abs(i);++j)printf("%d",j);
        if(i!=0)for(k=j*2;k<=(m)*2+m%2;++k)printf("%d",m-abs(i)+1);
        for(j=m-abs(i)+1;j>=1;--j)printf("%d",j);
        if(i==0&&n%2==0)for(k=0;k<n;++k)printf("\b");
        else
        printf("JT\n");
    }
2008-04-20 19:49
永夜的极光
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2721
专家分:1
注 册:2007-10-9
收藏
得分:0 
这种集成度太高的程序,很难写注释,只能是你自己在脑袋里边单步执行,一步步理解,可以借助草稿纸慢慢画出来,就能看懂了

从BFS(Breadth First Study)到DFS(Depth First Study)
2008-04-20 19:50
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
收藏
得分:0 
#include <stdio.h>//包含头文件
#include <math.h>
main()//主函数
{
    int m,n=0,i,j,k;//定义变量
   
    printf("Input N(3<N<20):");//输出文字
    scanf("%D",&n);//输入文字
   
    for(j=0;j<n;++j)//循环n次
        printf("T");
    printf("\nTJ");
    for(j=0;j<n-4;++j)printf("J");
    printf("JT\n");
   
    m=(n-4)/2;
    for(i=-m;i<=m;++i)
    {
        printf("TJ");
        for(j=1;j<=m-abs(i);++j)printf("%d",j);
        if(i!=0)for(k=j*2;k<=(m)*2+m%2;++k)printf("%d",m-abs(i)+1);
        for(j=m-abs(i)+1;j>=1;--j)printf("%d",j);
        if(i==0&&n%2==0)for(k=0;k<n;++k)printf("\b");
        else
        printf("JT\n");
    }
   
    printf("TJ");
    for(j=0;j<n-4;++j)printf("J");
    printf("JT\n");
    }

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2008-04-20 20:08
蔡菜菜
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-4-1
收藏
得分:0 
回复 4# 的帖子
你这个程序有问题,我改了个。
#include <stdio.h>
#include <math.h>
main()
{
    int m,n=0,i,j,k;
   
    printf("Input N(3<N<20):");
    while(1)
    {
        scanf("%D",&n);
        if(n>3&&n<20)
            break;
        printf("wrong number,enter again!\nINput N(3<n<20):");

    }

    for(j=0;j<n;++j)
        printf("T");

    printf("\nTJ");
    for(j=0;j<n-4;++j)
        printf("J");
    printf("JT\n");
   
    m=(n-4)/2;

    for(i=-m;i<=m;i++)
    {
        if(i==0&&n%2==0)
            i++;
        printf("TJ");
        for(k=-m;k<=m;k++)
            {
                if(n%2)
                {
                    if(i==0)
                        printf("%d",m-abs(k)+1);
                   else if(k==0)
                        printf("%d",m-abs(i)+1);
                }
                else
                    if(k==0)
                        k++ ;

                if(i<0&&k<0&&i!=k)
                    printf("%d",m+i>m+k?m+k+1:m+i+1);
                if (i<0&&k>0&&i!=k)
                    printf("%d",m+i>m-k?m-k+1:m+i+1);
                if (i>0&&k<0&&i!=k)
                    printf("%d",m-i>m+k?m+k+1:m-i+1);
                if (i>0&&k>0&&i!=k)
                    printf("%d",m-i>m-k?m-k+1:m-i+1);
                if (i==k&&i!=0)
                    printf("%d",m-abs(i)+1);


            }
        printf("JT\n");

    }
   
    printf("TJ");
    for(j=0;j<n-4;++j)
        printf("J");
    printf("JT\n");
    for(j=0;j<n;++j)
        printf("T");
    getch();
}
2008-04-21 13:26
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
收藏
得分:0 
楼上把代码排版了一下,就很容易看程序了.

wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2008-04-21 13:57
快速回复:网上找的一个程序,高手帮忙加点注释
数据加载中...
 
   



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

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