#include<string.h>
void main(){
float sum=0,ave[100]={-1.0}
int amount=0,j=0
char s[100]
while(1){
gets(s)
for(int i=0i<strlen(s)i++){
switch(s[i]){
case 'A':
sum+=4
amount+=1
break
case 'B':
sum+=3
amount+=1
break
case 'C':
sum+=2
amount+=1
break
case 'D':
sum+=1
amount+=1
break
case 'F':
sum+=0
amount+=1
break
case ' 液唤团':
break
default:
for(int k=0k<闹橘jk++){
链茄 printf("%.2f\n",ave[k])
}
printf("Unknown\n")
return
}
}
ave[j]=sum/amount
j++
sum=0
amount=0
}
}
#include <iostream>#include <string>
using namespace std
int letters[30]
int main() {
int n
cin >> n
string a, b
for (int i 轮仔= 0 i < n ++i) {
cin >> a >>灶旁 b
for (int j = 0 j < a.length() ++j) {
letters[a[j] - 'a']++
letters[b[j] - 'a']--
}
int flag = 1
for (int i = 0 i < 26 ++i) {
if (letters[i] != 0) {
flag = 0
break
}
}
if (flag) cout << "Yes" << endl
else cout << "No" << endl
}
}
没有考虑字母大小写,即默认全是小写。你可以试试能不能AC。
思路隐桐橡很简单,letters[]数组表示相应的字母。在第一个字符串中出现,则加1,在第二个字符串中出现则减1。最终若出现数组中某一位不为0,则表示两个字符串有不同的字母。
/*
A B C D F
2.00
B F F C C A
1.83
D C E F
Unknown
^Z
Press any key to continue
*/
#include <stdio.h>int main(){
int i,flag,d
char str[50]
float sum
while(gets(str) != NULL) {
i = 0
d = 0
sum = 0
flag = 0
while(str[i] != '\0') {
switch(str[i]) {
case 'A' : sum += 4 break
case '中磨B' : sum += 3 break
case 'C' 丛培州: sum += 2 break
case 'D' : sum += 1 break
case 'F' : break
case ' ' 渗蔽: --d break
default : flag = 1 printf("Unknown\n") break
}
if(flag == 1) break
d++ i++
}
if(flag == 0) {
if(d != 0) printf("%.2f\n",sum/d)
else printf("0.00\n")
}
}
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)