952 二维矩阵对角线的和
#include <stdio.h>
#include <stdlib.h>
int main()
{ int m,a[11][11],sum,i,j;
while(scanf("%d",&m)!=-1)
{ sum=0;
for(i=0;i<m;i++)
{
for(j=0;j<m;j++)
{
scanf("%d",&a[i][j]);
}
}
for(i=0;i<m;i++)
{
for(j=i;j<=i;j++)
{
sum=sum+a[i][j];
}
}
for(i=0;i<m;i++)
{
for(j=m-1-i;j<=m-1-i;j++)
{
sum=sum+a[i][j];
}
}
printf("%d\n",sum);
}
return 0;
}
1064 矩阵的外围
#include <stdio.h>
#include <stdlib.h>
int main()
{ int n,m,a[11][11],j,i,sum;
while(scanf("%d%d",&n,&m)!=-1)
{ sum=0;
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
scanf("%d",&a[i][j]);
}
}
for(i=1;i<=n;i++)
{
if(i==1||i==n)
{
for(j=1;j<=m;j++)
{
sum=sum+a[i][j];
}
}
else
{
sum=sum+a[i][1]+a[i][m];
}
}
printf("%d\n",sum);
}
return 0;
}
955 五人帮
#include <stdio.h>
#include <stdlib.h>
int main()
{
int m,n,i,j,k,a[12][12],s,max;
while(scanf("%d%d",&m,&n)!=-1)
{
for(i=0;i<=m+1;i++)
{
for(j=0;j<=n+1;j++)
{
if(i>=1&&i<=m&&j>=1&&j<=n)scanf("%d",&a[i][j]);
else a[i][j]=0;
}
}
max=0;
for(i=0;i<=m+1;i++)
{
for(j=0;j<=n+1;j++)
{
if(i>=1&&i<=m&&j>=1&&j<=n)
{
s=a[i][j]+a[i-1][j]+a[i+1][j]+a[i][j-1]+a[i][j+1];
if(s>max)
max=s;
}
}
}
printf("%d\n",max);
}
return 0;
}
#include<stdio.h>
#include<string.h>
int main()
{
int data[11][11];
int ans[11][11];
int m,n,i,j;
while(~scanf("%d%d",&m,&n))
{
int max=-9999;
memset(data,0,sizeof(data));
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
scanf("%d",&data[i][j]);
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{
ans[i][j]=data[i][j]+data[i][j-1]+data[i-1][j]+data[i+1][j]+data[i][j+1];
if(ans[i][j]>max ) max=ans[i][j];
}
printf("%d\n",max);
}
return 0;
}
1031 回转小矩阵
#include <stdio.h>
#include <stdlib.h>
int main()
{ int n,m,a[101][101],i,j,p,b[101][101];
while(scanf("%d%d",&n,&m)!=-1)
{
p=m+1;
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
scanf("%d",&a[i][j]);
}
}
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++)
{
b[i][j]=a[j][p-i];
}
}
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++)
{
if(j!=n)
{
printf("%d ",b[i][j]);
}
if(j==n)
{
printf("%d\n",b[i][j]);
}
}
}
printf("\n");
}
return 0;
}
954 矩阵相乘
#include <stdio.h>
#include <stdlib.h>
int main()
{ int m,i,j,k,a1[20][20],a2[20][20],a[20][20];
while(scanf("%d",&m)!=-1)
{ for(i=1;i<=m;i++)
{
for(j=1;j<=m;j++)
{
a[i][j]=0;
}
}
for(i=1;i<=m;i++)
{
for(j=1;j<=m;j++)
{
scanf("%d",&a1[i][j]);
}
}
for(i=1;i<=m;i++)
{
for(j=1;j<=m;j++)
{
scanf("%d",&a2[i][j]);
}
}
for(i=1;i<=m;i++)
{
for(j=1;j<=m;j++)
{
for(k=1;k<=m;k++)
{
a[i][j]=a[i][j]+a1[i][k]*a2[k][j];
}
}
}
for(i=1;i<=m;i++)
{
for(j=1;j<=m;j++)
{
if(j!=m)
{
printf("%d ",a[i][j]);
}
if(j==m)
{
printf("%d\n",a[i][j]);
}
}
}
}
return 0;
}
1053 结构体应用
#include<bits/stdc++.h>
using namespace std;
struct student{
char num[10],name[30];
double cj;
};
int main()
{ int n,i;
while(scanf("%d",&n)!=-1)
{
student stu[100];
getchar();
for(i=1;i<=n;i++)
{
scanf("%s %[^\n] %lf",stu[i].num,stu[i].name,&stu[i].cj);
}
for(i=1;i<=n;i++)
{
printf("%s %s %.2lf\n",stu[i].num,stu[i].name,stu[i].cj);
}
}
return 0;
}
1637 身高问题
#include <stdio.h>
#include <stdlib.h>
struct student{
char name[30];
int sg;
int xh;
};
int main()
{ int n,i,maxn,c,j;
scanf("%d",&n);
maxn=0;
c=0;
student stu[100];
getchar();
for(i=0;i<n;i++)
{
scanf("%s %d %d",stu[i].name,&stu[i].sg,&stu[i].xh);
}
for(j=0;j<n;j++)
{
if(stu[j].sg>maxn)
{
maxn=stu[j].sg;
c=j;
}
if(stu[j].sg==maxn)
{
if(stu[j].xh<stu[c].xh)
{ maxn=stu[j].sg;
c=j;
}
}
}
printf("%s %d %d\n",stu[c].name,stu[c].sg,stu[c].xh);
return 0;
}
1638 成绩统计
#include <bits/stdc++.h>
using namespace std;
string flag,level;
int m,i,cnt,sum,mark;
int main()
{
cin>>m;
cnt=sum=0;
for(i=1;i<=m;i++)
{
cin>>flag;
if(flag=="C")
{cin>>level;cnt++;}
else
{cin>>mark;sum=sum+mark;}
}
printf("%d %d\n",cnt,sum/(m-cnt));
return 0;
}
1186 优秀学生
#include <bits/stdc++.h>
using namespace std;
struct as{
char num[9],name[20];
int cj;
}stu[101];
int main()
{ int n,m,i;
while(scanf("%d",&n)!=-1)
{ as stu[101];
m=0;
getchar();
for(i=0;i<n;i++)
{
scanf("%s %[^\n] %d",stu[i].num,stu[i].name,&stu[i].cj);
}
for(i=0;i<n;i++)
{ if(stu[i].cj>=90)
{
m++;
printf("%s %s %d\n",stu[i].num,stu[i].name,stu[i].cj);
}
}
printf("%d\n",m);
}
return 0;
}
1147 谁不及格?
#include <bits/stdc++.h>
using namespace std;
struct as{
char name[21];
char num[11];
double cj;
}stu[11];
int main()
{ int n,m,i;
while(scanf("%d ",&n)!=-1)
{ as stu[11];
m=0;
for(i=0;i<n;i++)
{
scanf(" %[^\n] %[^\n] %lf",stu[i].name,stu[i].num,&stu[i].cj);
if(stu[i].cj<60)
{
m=m+1;
}
}
if(m>0)
{ printf("%d\n",m);
for(i=0;i<n;i++)
{ if(stu[i].cj<60)
{
printf("%s\n",stu[i].name);
}
}
for(i=0;i<n;i++)
{ if(stu[i].cj<60)
{
printf("%s\n",stu[i].num);
}
}
for(i=0;i<n;i++)
{ if(stu[i].cj<60)
{
printf("%.2lf\n",stu[i].cj);
}
}
}
else
{
printf("They are Great!!\n");
}
}
return 0;
}