C语言编程 ACM

C语言编程 ACM,第1张

#include<stdio.h>

#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

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12538007.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存