C语言_练习(七)
60、咖啡馆(遍历字符串+ASCI数组记录)
Noder咖啡馆里面有N个座位,每天会有若干个顾客来店里面消费,会得到相应的服务。一个顾客占一个位置,顾客离开之后位置就会空出来。如果顾客来了之后没有位置,那么顾客就会直接离开,也就得不到服务。
现在已知座位数N,以及一天之内顾客来走的顺序,请统计一下有多少顾客没有得到服务。
#include <stdio.h>
#include<string.h>
int main() {
char str[100];
int i,j,k,n,num=0;
int flag;
scanf("%d",&n);
scanf("%s",str);
for(i=n;i<=strlen(str);i++){
// printf("%s\n",str);
for(j=0;j<n;j++){
flag=0;
for(k=0;k<n;k++){
if(str[i]==str[k]){
str[k]='0';
flag=1;
break;
}
}
if(flag==1){
break;
}
if(flag==0){
if(str[j]=='0'){
str[j]=str[i];
break;
}
else if(str[i]!=str[j]&&j==n-1){
num++;
}
}
// printf("%s\n",str);
}
}
printf("%d\n",num/2);
return 0;
}
61、西湖游船(数组记录)
有n名游客在西湖游玩,现在他们要上船观光。游客编号1到n。船的最大承重为W。第i个人的重量为c[i]。现在有若干次游客上下船的操作,请统计一下整个过程中船所承受过的最大总重量是多少。
#include <stdio.h>
int main() {
int n,m,w;
int a[1000],b[1000];
int i,j;
int temp;
int sum;
scanf("%d%d%d",&n,&m,&w