计算机常用算法与案例教程,《计算机常用算法与程式设计案例教案》源程式清单.doc...

PAGE

PAGE 83

《计算机常用算法与程序设计案例教程》

源程序清单

说明:

1. 程序编号的前2位为所在章节,第3位数字为序号。

2. 可直接复制程序文本,“粘贴”到VC++6.0当前文件,编译运行。

3. 该文本在排版时最好不改变字体,以免改变某些符号的属性。

第 1 章 算法与程序设计概述

// 横竖折对称方阵,c131

#include // 调用2个头文件

#include

void main()

{int i,j,m,n,a[30][30]; // 定义数据结构

printf(" 请确定方阵阶数(奇数)n: "); scanf("%d",&n);

if(n%2==0)

{ printf(" 请输入奇数!");return;}

m=(n+1)/2;

for(i=1;i<=n;i++)

for(j=1;j<=n;j++)

{

if(i+j<=n+1 && i<=j || i+j>=n+1 && i>=j)

a[i][j]=m-abs(m-j); // 方阵上、下部元素赋值

if(i+jj || i+j>n+1 && i

a[i][j]=m-abs(m-i); // 方阵左、右部元素赋值

}

printf(" %d阶对称方阵为:\n",n);

for(i=1;i<=n;i++)

{ for(j=1;j<=n;j++) // 输出对称方阵

printf("%3d",a[i][j]);

printf("\n");

}

}

// 斜折对称方阵,c132

#include

#include

void main()

{int i,j,m,n,a[30][30];

printf(" 请确定方阵阶数(奇数)n: "); scanf("%d",&n);

if(n%2==0)

{ printf(" 请输入奇数!");return;}

m=(n+1)/2;

for(i=1;i<=n;i++)

for(j=1;j<=n;j++)

{ if(i<=m && j<=m || i>m && j>m)

a[i][j]=abs(i-j); // 方阵左上部与右下部元素赋值

if(i<=m && j>m || i>m && j<=m)

a[i][j]=abs(i+j-n-1); // 方阵右上部与左下部元素赋值

}

printf(" %d阶对称方阵为:\n",n);

for(i=1;i<=n;i++)

{ for(j=1;j<=n;j++) // 输出对称方阵

printf("%3d",a[i][j]);

printf("\n");

}

}

// 求整数a,b的最大公约数(a,b),c133

#include

void main()

{ long a,b,c,r;

printf("请输入整数a,b: ");

scanf("%ld,%ld",&a,&b);// 输入整数a,b

printf("(%ld,%ld)",a,b);

if(a

{c=a;a=b;b=c;}// 交换a,b,确保a>b

r=a%b;

while(r!=0)

{a=b;b=r;// 实施"辗转相除"

r=a%b;

}

printf("=%ld\n",b);// 输出求解结果

}

// 求n个整数的最大公约数,c134

#include

void main()

{ int k,n;

long a,b,c,r,m[100];

printf("请输入整数个数n: ");// 输入原始数据

scanf("%d",&n);

printf("请依次输入%d个整数: ",n);

for(k=0;k<=n-1;k++)

{ printf("\n请输入第%d个整数: ",k+1);

?scanf("%ld",&m[k]);

}

b=m[0];

for(k=1;k<=n-1;k++) // 控制应用n?1次欧几里德算法

{a=m[k];

if(a<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值