《 算法笔记》3.2小节——入门模拟->查找元素
问题 A: 统计同成绩学生人数
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int main(){
int n;//表示输入多少个数
int gra[1010];//存储成绩
while(scanf("%d",&n)!=EOF){
if(n==0)break;
int temp=0;
int c=0;
int s;//查找的成绩
for(int i=0;i<n;i++)
{
scanf("%d ",&temp);
gra[i]=temp;
}
scanf("%d",&s);
for(int i=0;i<n;i++)
{
if(gra[i]==s)
{
c=c+1;
}
}
printf("%d\n",c);
}
return 0;
}
问题 B: 找x
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int main(){
int n;//表示的数字
int s;//表示的查找的数组
int a[210];//数组中的数
while(scanf("%d",&n)!=EOF)
{
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
scanf("%d",&s);
int count=0;
for(int i=0;i<n;i++){
if(a[i]==s)
{
printf("%d\n",i);
count++;
break;
}
}
if(count==0)
{
printf("-1\n");
}
}
return 0;
}
问题 C: 查找学生信息
#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>
using namespace std;
struct student{
char num[100];
char name[100];
char sex[5];
int age;
}stu[1000];
int main(){
int n;
while(scanf("%d",&n)!=EOF)
{
for(int i=0;i<n;i++)
{
scanf("%s%s%s%d",&stu[i].num,&stu[i].name,&stu[i].sex,&stu[i].age);
}
int m,j;
scanf("%d",&m);
for(int i=0;i<m;i++)
{
char m1[5];//m1是用来存储之后对比的那些序00005这种
scanf("%s",&m1);
for(j=0;j<n;j++)
{
if(strcmp(stu[j].num,m1)==0)
{
printf("%s %s %s %d\n",stu[j].num,stu[j].name,stu[j].sex,stu[j].age);
break;
}
}
if(j==n)
{
printf("No Answer!\n");
}
}
}
return 0;
}
问题 D: 查找
这题自己不细心,调了很久,真傻啊自己
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
int main(){
int n;
while(scanf("%d",&n)!=EOF)
{
int a[110];
int m;
int b[100];
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
scanf("%d",&m);
for(int j=0;j<m;j++){
scanf("%d",&b[j]);
}
for(int k=0;k<m;k++)
{
int i;
for(i=0;i<n;i++)
{
if(a[i]==b[k])
{
cout<<"YES"<<endl;
break;
}
}
if(i==n)
{
cout<<"NO"<<endl;
}
}
}
return 0;
}
问题 E: 学生查询
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
struct student{
int num;
char name[15];
char sex[10];
int age;
}stu[30];
int main(){
int n;
scanf("%d",&n);
while(n--)
{
int m;
scanf("%d",&m);
for(int j=0;j<m;j++)
{
scanf("%d %s %s %d",&stu[j].num,stu[j].name,stu[j].sex,&stu[j].age);
}
int sre;
scanf("%d",&sre);
for(int k=0;k<m;k++)
{
if(stu[k].num==sre)
{
printf("%d %s %s %d\n",stu[k].num,stu[k].name,stu[k].sex,stu[k].age);
break;
}
}
}
return 0;
}