| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 632 人关注过本帖
标题:请求大家教我一个幻方程序
只看楼主 加入收藏
bossini03
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2009-8-23
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:5 
请求大家教我一个幻方程序
编写一个程序,要求用户输入1到16的所有整数,然后用4*4矩阵形式显示,再计算出每行,每列每条对角线的和,此题出自《C语言程序设计现代方法第二版》第三章编程题,不知道为什么这么前的章节也有这么难的题目,请求各位给我此题的程序,另请问此题是否能简单一些。。不用指针,不用数组进行编程。。谢谢各位
搜索更多相关主题的帖子: 请求 
2010-05-09 00:36
草狼
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:577
专家分:1040
注 册:2010-4-6
收藏
得分:0 
最简单的办法就是用PRINTF来写啊?反正16个数你都知道了么
printf(”1 2 3 4“);
printf(“5 6 7 8”);
printf(”9 10 11 12“);
printf(“13 14 15 16”);
每行每列没条对角线的和照样自己算出来 然后把它PRINTF就可以了
2010-05-09 07:55
白色轨迹
Rank: 2
等 级:论坛游民
帖 子:19
专家分:42
注 册:2010-3-20
收藏
得分:5 
#include "stdio.h"

void main()
{
    int a[4],b[4],c[4],d[4],t=0;
    for(int i=0;i<4;i++)
    scanf("%d%d%d%d",&a[i],&b[i],&c[i],&d[i]);

    for(int j=0;j<4;j++){
   
        printf("%9d%12d%15d%18d %15d\n",a[j]*a[j],b[j]*b[j],c[j]*c[j],d[j]*d[j],a[j]*a[j]+b[j]*b[j]+c[j]*c[j]+d[j]*d[j]);
   
   
    }

        
         printf("%9d",a[1]*a[1]+a[2]*a[2]+a[3]*a[3]+a[0]*a[0]);
         printf("%12d",b[1]*b[1]+b[2]*b[2]+b[3]*b[3]+b[0]*b[0]);
         printf("%15d",c[1]*c[1]+c[2]*c[2]+c[3]*c[3]+c[0]*c[0]);
         printf("%18d",d[1]*d[1]+d[2]*d[2]+d[3]*d[3]+d[0]*d[0]);
         printf(" %15d\n",a[0]*a[0]+b[1]*b[1]+c[2]*c[2]+d[3]*d[3]);   

}
2010-05-09 09:32
草狼
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:577
专家分:1040
注 册:2010-4-6
收藏
得分:5 
或用这白痴代码
#include<Stdio.h>
#include <stdlib.h>
int main()
{
int n;
int sum1=0,sum2=0,sum3=0,sum4=0,sum5=0,sum6=0,sum7=0,sum8=0,sum9=0,sum10=0;
int i,j,a,b;
for(a=1,b=4,i=1;i<=4;i++)
{
for(j=1;j<=4;j++)
{
scanf("%d",&n);
printf("%d",n);
if(j!=4) printf(" ");
if(i==1)
{
sum1+=n;
}
else if(i==2)
{
sum2+=n;
}
else if(i==3)
{
sum3+=n;
}
else if(i==4)
{
sum4+=n;
}
if(j==1)
{
sum5+=n;
}
else if(j==2)
{
sum6+=n;
}
else if(j==3)
{
sum7+=n;
}
else if(j==4)
{
sum8+=n;
}
if(j==a)
{
sum9+=n;
}
if(j==b)
{
sum10+=n;
}
}
printf("\n");
a++;
b--;
}
printf("hang:%d %d %d %d\n",sum1,sum2,sum3,sum4);
printf("lie:%d %d %d %d\n",sum5,sum6,sum7,sum8);
printf("duijiaoxian:%d %d\n",sum9,sum10);
system("pause");
return 0;
}
2010-05-09 12:21
南国利剑
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:29
帖 子:1165
专家分:3536
注 册:2010-4-12
收藏
得分:0 
楼上的写的不错。
建议楼主,可以将要实现的功能独立成函数。
这样代码容易让人读懂。


[ 本帖最后由 南国利剑 于 2010-5-9 15:16 编辑 ]

南国利剑
2010-05-09 15:15
bossini03
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2009-8-23
收藏
得分:0 
回复 4楼 草狼
这代码,我看不明白啊。。。可不可以简单的说明一下哇?谢谢
2010-05-10 05:01
快速回复:请求大家教我一个幻方程序
数据加载中...
 
   



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

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