大一C语言的作业

来源:百度知道 编辑:UC知道 时间:2024/05/25 10:42:05
1输出魔方阵.
输出“魔方阵”。所谓魔方阵是指这样的方阵,它的每一行、每一列和对角线之和均相等。例如,三阶魔方阵为:
8 1 6
3 5 7
4 9 2
要求输出1-n的平方的自然数构成的魔方阵。

再次谢谢哥们们

2、某班在进行选举,现有5名同学参加选举,要从中选出得票最多的前三名同学。编程完成:
1)、输入五个同学的名字并显示格式如下:
*************************************************
(1、赵** 2、钱** 3、孙** 4、李** 5、周**)
输入1~5选择投票给候选人,输入0表示弃权,输入6结束选举
2)、计算总投票数、弃权人数、各候选人得票数,并按得票数排序并输出。
3)、输出当选的三名同学姓名

把第一个程序给你发一下吧,第二个多简单啊,自己弄吧!

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

void main()
{
int a[16][16],i,j,n,k;

printf("Please input n(1~15,it must be odd.): ");
scanf("%d",&n);
while(!(n>=1&&n<=15)||n%2==0)
{
printf("The number is invalid.Please insert again:");
scanf("%d",&n);

}
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
a[i][j]=0;
j=n/2+1;
a[1][j]=1;
i=1;
for(k=2;k<=n*n;k++)
{
i=i-1;j=j+1;
if(i==0&&j==n+1)
{
i=i+2;j=j-1;
}
else
{
if(i==0)
{
i=n;
}
if(j==n+1)
{
j=1;
}
}
if(a[i][j]==0)
{
a[i][j]=k;
}
else
{
i=i+2;
j=j-1;
a[i][j]=k;
}