我必须制作一个程序,计算字母'A'在字符串中的使用次数。所以只是大写字母A。
到目前为止我已经得到了这个:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[]) {
char s[30];
int amount=0;
printf("Enter a string \n");
gets(s);
//???
printf("\nThe letter A has been used %i times\n", amount);
return 0;
}
答案 0 :(得分:0)
由于gets
会自动为您插入终止\0
,因此很简单:
char s[30];
int amount=0;
int i = 0;
printf("Enter a string \n");
gets(s);
for (; s[i] != '\0'; i++) {
if (s[i] == 'A' || s[i] == 'a') amount++;
}
printf("\nThe letter A has been used %i times\n", amount);
答案 1 :(得分:0)
执行此任务的方法是将字符串的每个字符与所需字符串(本例中为“A”)进行比较的循环,直到找到'\ 0'...在替代strchr
中可以用来达到这个目的(只是为了表明一种不同的方法)。
int count = 0;
char *p=strchr(s,'A');
while (p!=NULL) {
count++;
p=strchr(p+1,'A');
}