版权声明:欢迎转载,转载请标明作者和出处。 https://blog.csdn.net/ljw_study_in_CSDN/article/details/86019595
基础题就不解释了,稍微要思考的题再注释一下。
#include <stdio.h>
int main()
{
int i,j,m,n,max1,max2,max,a[100][100];
while(scanf("%d%d",&m,&n)!=-1)
{
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++)
scanf("%d",&a[i][j]);
}
max=a[1][1];
max1=max2=1;
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++)
{
if(a[i][j]>max)
{
max=a[i][j];
max1=i;
max2=j;
}
}
}
printf("%d %d %d\n",max1,max2,max);
}
return 0;
}
#include <stdio.h>
int main()
{
int a[100][100],b[100][100],i,j,m,n,s[100][100];
while(scanf("%d%d",&m,&n)!=-1)
{
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++)
scanf("%d",&a[i][j]);
}
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++)
scanf("%d",&b[i][j]);
}
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++)
{
s[i][j]=a[i][j]+b[i][j];
if(j==n)printf("%d\n",s[i][j]);
else printf("%d ",s[i][j]);
}
}
}
return 0;
}
#include <stdio.h>
int main()
{
int a[100][100],i,j,m,s;
while(scanf("%d",&m)!=-1)
{
for(i=1;i<=m;i++)
{
for(j=1;j<=m;j++)
scanf("%d",&a[i][j]);
}
s=0;
for(i=1;i<=m;i++)
{
for(j=1;j<=m;j++)
{
if(i==j)
s=s+a[i][j];
if(i+j==m+1)
s=s+a[i][j];
}
}
printf("%d\n",s);
}
return 0;
}
#include <stdio.h>
int main()
{
int m,i,j,k,a[20][20],b[20][20];
while(scanf("%d",&m)!=-1)
{
for(i=1;i<=m;i++)
{
for(j=1;j<=m;j++)
scanf("%d",&a[i][j]);
}
for(i=1;i<=m;i++)
{
for(j=1;j<=m;j++)
scanf("%d",&b[i][j]);
}
int s[20][20]={0};
for(i=1;i<=m;i++)
{
for(j=1;j<=m;j++)
{
for(k=1;k<=m;k++)
s[i][j]=s[i][j]+a[i][k]*b[k][j];
}
}
for(i=1;i<=m;i++)
{
for(j=1;j<=m;j++)
{
if(j==m)printf("%d\n",s[i][j]);
else printf("%d ",s[i][j]);
}
}
}
return 0;
}
#include <stdio.h>
int main()
{
int m,n,i,j,k,a[11][11],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;//在原二维矩阵外面再加一层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 <bits/stdc++.h>
using namespace std;
struct student
{
char num[10],name[30];
double score;
};
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].score);
for(i=1;i<=n;i++)
printf("%s %s %.2lf\n",stu[i].num,stu[i].name,stu[i].score);
}
return 0;
}
学了结构体还是很有用的,学了之后能轻松解决多个字符串问题
这里学到了一种很好的不跳过空格输入字符串的写法
char s[100];
scanf(" %[^\n]",s);
这就比用gets(s)不跳过空格输入字符串好用多了。
#include <bits/stdc++.h>
using namespace std;
struct student
{
char name[30];
int h,num;
};
int main()
{
int n,i,j,max;
student t,stu[200];
while(scanf("%d",&n)!=-1)
{
getchar();
for(i=1;i<=n;i++)
scanf("%s%d%d",stu[i].name,&stu[i].h,&stu[i].num);
for(i=1;i<=n;i++)
{
for(j=i+1;j<=n;j++)
{
if(stu[j].num<stu[i].num)
{
t=stu[i];
stu[i]=stu[j];
stu[j]=t;
}
}
}
max=0;
for(i=1;i<=n;i++)
{
if(stu[i].h>max)
max=stu[i].h;
}
for(i=1;i<=n;i++)
{
if(stu[i].h==max)
{
printf("%s %d %d\n",stu[i].name,stu[i].h,stu[i].num);
break;
}
}
}
return 0;
}
#include <bits/stdc++.h>
using namespace std;
struct student
{
char a[2],b[10];
int x;
};
int main()
{
int n,i,s,sum;
student stu[1001];
while(scanf("%d",&n)!=-1)
{
getchar();
s=sum=0;
for(i=1;i<=n;i++)
{
scanf("%s",stu[i].a);
if(strcmp(stu[i].a,"C")==0)
{
scanf("%s",stu[i].b);
s++;
}
if(strcmp(stu[i].a,"N")==0)
{
scanf("%d",&stu[i].x);
sum=sum+stu[i].x;
}
}
printf("%d %d\n",s,sum/(n-s));
}
return 0;
}
寒假培训第一天就是这么些题了,做出结构体的题还是挺有成就感的。
第一篇博客就到这里了,继续努力刷题,坚持,加油!!!
继续萌新的成长之路!!!