| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 601 人关注过本帖
标题:[求助]这样的程序大家能说个算法吗
只看楼主 加入收藏
木子三竖
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-6-5
收藏
 问题点数:0 回复次数:8 
[求助]这样的程序大家能说个算法吗

0
303
23032
1230321
23032
303
0

这样的程序大家能说个算法吗?
搜索更多相关主题的帖子: 算法 
2006-06-05 11:34
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 
/*
0
303
23032
1230321
23032
303
0
*/
#include<stdio.h>
#include <math.h>
main( )
{
char fmt[]="%*.?s\n";
char line[]="1230321";
int i;
for(i=-3;i<=3;i++)
{
fmt[3]='7'-2*abs(i);
printf(fmt,9-abs(i),line+abs(i));
}
}

落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-06-05 12:00
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
收藏
得分:0 
以下是引用–★–在2006-6-5 12:00:00的发言:
/*
0
303
23032
1230321
23032
303
0
*/
#include<stdio.h>
#include <math.h>
main( )
{
char fmt[]="%*.?s\n";
char line[]="1230321";
int i;
for(i=-3;i<=3;i++)
{
fmt[3]='7'-2*abs(i);
printf(fmt,9-abs(i),line+abs(i));
}
}

版主果然牛逼!!!
红色的那个我见都没见过,请问加上"?",什么意思?恳请指教,谢谢。


对不礼貌的女生收钱......
2006-06-05 19:03
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 
执行printf("格式控制串",输出表项)语句时,实际上它对"格式控制串"是解释执行的。因此我们有机会动态地修改"格式控制串"。在2楼格式数组fmt[]="%*.?s\n"的三号元素fmt[3]='7'-2*abs(i)就是在循环过程中被动态修改的。至于'?'意在强调此物尚不确定

落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-06-05 21:40
huangtaomvp
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-4-23
收藏
得分:0 
abs 是什么东东啊是自定义函数吗??/

2006-06-05 22:07
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 
abs是math库函数,返回(int型)绝对值

落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-06-05 22:11
nickfon
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-4-25
收藏
得分:0 
#include "stdio.h"
#include "math.h"
main()
{
int n,i,j;
scanf("%d",&n);
for(i=1;i<2*n;i++) //i控制行
{
for(j=1;j<=abs(n-i);j++) //j控制列
printf(" ");
if(i<=n)
for(j=n-i+1;j<=n-1;j++)
printf("%d",j);
else
for(j=i-n+1;j<=n-1;j++)
printf("%d",j);

printf("0");

if(i<=n)
for(j=n-1;j>=n-i+1;j--)
printf("%d",j);
else
for(j=n-1;j>=i-n+1;j--)
printf("%d",j);

printf("\n");
}
}

笨人笨办法,呵呵
2006-06-06 02:51
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 

0
303
23032
1230321
23032
303
0

本题还有一个较好理解的方法:
1。建立1个char s[7+1]={' ',' ',' ','0',' ',' ',','\0'};
2。用puts()输出s,实现第1、7行的要求(用TurboC的gotoxy()搞定)
3。s[2]=s[4]='3';用puts()输出s,实现第2、6行的要求
4。s[1]=s[5]='2';用puts()输出s,实现第3、5行的要求
5。s[0]=s[6]='1';用puts()输出s,实现第4行的要求

落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-06-06 06:06
baidu
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:3811
专家分:0
注 册:2005-11-4
收藏
得分:0 

#include <stdio.h>

int main()
{
int N;
for(int y=0;y<5;y++)
{
scanf("%d",&N);

for(int i=0;i<=N*2+1;i++)
{
for(int j=0;j<=N*2+1;j++)
{
if((i<=N+1&&(j>=(N+1-i)&&j<(N+1+i))) || (i>N+1&&( (j>=i-1-N) && j<(3*N+3-i) )))
{
if(j<N)printf("%3d",j+1);
else if(j==N+1)printf("%3d",0);
else if(j>N+1)printf("%3d",2*(N+1)-j);
}
else printf(" ");
}
printf("\n");
}
}

}


偶放弃所有文章版权,偶在BCCN论坛任何贴子,可转贴,可散发,可抄袭,可复制,可被冒名顶替,可被任何人引用到任何文章中且不写出引文出处,偶分文不取。
2006-06-06 09:39
快速回复:[求助]这样的程序大家能说个算法吗
数据加载中...
 
   



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

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