快期末了 好久没用过C,重新打一下程设二的内容找找手感,顺便水几篇博客,简单题直接过,需要思考的会有注释或者思路,重要知识点会总结,祝大家期末都AK!!!
总题目链接
#include
#include
int main()
{
int t,max=-1,ans=0;
while(~scanf("%d",&t))
{
int max=-1,ans=0;
while(t--)
{
int sum,a,b,c,d,e;
scanf("%d %d %d %d %d",&a,&b,&c,&d,&e);
sum=a+b+c+d+e;
if(sum<85)
ans++;
max= sum>max? sum:max;
}
if(max<85)
printf("%d No\n",ans);
else
printf("%d %d\n",ans,max);
}
return 0;
}
#include
#include
int main()
{
int n,w1,w2,w3,max,index;
while(~scanf("%d",&n))
{
max=-1;
int sum;
for(int i=0; i<n; i++)
{
scanf("%d %d %d",&w1,&w2,&w3);
sum= w1*0.7+w2*0.2+w3*0.1;
if(max<sum)
{
max=sum;
index=i;
}
}
printf("%d\n",index);
}
return 0;
}
运用桶排的方法很快就能得出答案
#include
#include
int tong[1010];
int main()
{
int n,m;
scanf("%d %d",&m,&n);
for(int i=0; i<n; i++)
{
int x;
scanf("%d",&x);
tong[x]++;
}
int max=-1,index;
for(int i=1;i<=m;i++)
{
if(tong[i]>max)
{
max=tong[i];
index=i;
}
}
printf("%d\n%d",index,max);
return 0;
}
#include
#include
int main()
{
int n;
while(~scanf("%d",&n))
{
int maxp=-1,maxc=-1,index,p,c;
for(int i=1; i<=n; i++)
{
scanf("%d %d",&p,&c);
if(p>maxp||p==maxp&&c>maxc)
{
maxc=c;
maxp=p;
index=i;
}
}
printf("%d\n",index);
}
return 0;
}
#include
#include
struct node
{
char name[11];
int score;
}a[51],t;
int main()
{
int n;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%s %d",a[i].name,&a[i].score);
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n-i-1;j++)
{
if(a[j].score<a[j+1].score)
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
for(int i=0;i<n;i++)
printf("%s %d\n",a[i].name,a[i].score);
return 0;
}
#include
#include
struct node
{
int ID;
int score;
} a[10010],t;
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
int n;
scanf("%d",&n);
for(int i=0; i<n; i++)
{
scanf("%d %d",&a[i].ID,&a[i].score);
}
for(int i=0; i<n; i++)
{
for(int j=0; j<n-i-1; j++)
{
if(a[j].score<a[j+1].score)
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
for(int i=0; i<n; i++)
printf("%d %d\n",a[i].ID,a[i].score);
}
return 0;
}
先把原始信息存入a结构体数组中,然后挑选出符合条件的放入b数组,对b按要求冒泡,最后遍历输出
#include
#include
struct node
{
char name[21];
int h,w;
} a[1001],t,b[1001];
int main()
{
int n,m=0;
scanf("%d",&n);
for(int i=0; i<n; i++)
{
scanf("%s %d %d",&a[i].name,&a[i].h,&a[i].w);
}
int e,f,c,d;
scanf("%d %d %d %d",&e,&f,&c,&d);
for(int i=0;i<n;i++)
{
if(a[i].h>=e&&a[i].h<=f&&a[i].w>=c&&a[i].w<=d)
b[m++]=a[i];
}
for(int i=0; i<m; i++)
{
for(int j=0; j<m-i-1; j++)
{
if(b[j].h>b[j+1].h||b[j].h==b[j+1].h&&b[j].w>b[j+1].w)
{
t=b[j];
b[j]=b[j+1];
b[j+1]=t;
}
}
}
if(m==0) printf("No\n");
for(int i=0; i<m; i++)
printf("%s %d %d\n",b[i].name,b[i].h,b[i].w);
return 0;
}
#include
#include
struct node
{
int wi,pi;
} a[1001],t;
int main()
{
int n;
while(~scanf("%d",&n))
{
for(int i=0;i<n;i++)
scanf("%d",&a[i].wi);
for(int i=0;i<n;i++)
scanf("%d",&a[i].pi);
for(int i=0; i<n; i++)
{
for(int j=0; j<n-i-1; j++)
{
if(a[j].wi>a[j+1].wi||a[j].wi==a[j+1].wi&&a[j].pi<a[j+1].pi)
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
for(int i=0; i<n; i++)
printf("%d %d\n",a[i].wi,a[i].pi);
}
return 0;
}
#include
#include
#include
union node
{
int x;
double b;
char s[30];
} a[100001];
int main()
{
char type[100010][10];
int m,n;
scanf("%d %d",&n,&m);
for(int i=0; i<n; i++)
{
scanf("%s",type[i]);
if(strcmp(type[i],"INT")==0)
scanf("%d",&a[i].x);
else if(strcmp(type[i],"DOUBLE")==0)
scanf("%lf",&a[i].b);
else if(strcmp(type[i],"STRING")==0)
scanf("%s",a[i].s);
}
while(m--)
{
int k;
scanf("%d",&k);
if(strcmp(type[k],"INT")==0)
printf("%d\n",a[k].x);
if(strcmp(type[k],"DOUBLE")==0)
printf("%.2lf\n",a[k].b);
if(strcmp(type[k],"STRING")==0)
printf("%s\n",a[k].s);
}
return 0;
}
#include
#include
enum color {Rose,Poppies,Sunflower,Grass,Bluebells,Violet};
int main()
{
char s[31];
int t;
while(scanf("%s",s)!=EOF)
{
t=100;
if(strcmp(s,"red")==0) t=0;
else if(strcmp(s,"orange")==0) t=1;
else if(strcmp(s,"yellow")==0) t=2;
else if(strcmp(s,"green")==0) t=3;
else if(strcmp(s,"blue")==0) t=4;
else if(strcmp(s,"violet")==0) t=5;
if(t>=0&&t<=5)
{
switch((enum color)t)
{
case 0:printf("Rose are red.\n");break;
case 1:printf("Poppies are orange.\n");break;
case 2:printf("Sunflower are yellow.\n");break;
case 3:printf("Grass are green.\n");break;
case 4:printf("Bluebells are blue.\n");break;
case 5:printf("Violets are violet.\n");break;
}
}
else printf("I don't know about the color %s.\n",s);
}
return 0;
}
结构体章节的题较简单,很多题其实用不到结构体,题目主要考察对排序的掌握情况以及题目信息的获取。