c语言编程问题,符号数组。

c语言编程问题,符号数组。CoCo喜欢旅游,每次都会去一个地方,并且每去过一个地方都会记录一下地名,当然有些地方去过多次也都会一一记录下来的。现在列出了CoCo去过的n个城市的名称(会有重复的),然后再输入一个城市的名称,想请你帮忙计算一下这个城市CoCo去过几次了。
输入
先输入一个正整数n(n小于等于1000),表示CoCo在旅行中去过n个地方了。

接下来n行依次输入n个字符串表示城市名,每个字符串的长度小于等于100字符,并且字符串中无空格,可能会有重复的城市名。

然后再输入一个城市名表示待查找字符串。
输出
输出该城市CoCo已经去过几次了。

样例输入
4
shanghai
beijing
hangzhou
beijing
beijing

样例输出
2
多组测试数据,建议用形如while(scanf("%d",&n)!=EOF)的形式。

第1个回答  2017-11-03
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main() {
    int n, i=0, cnt=0;
    char search[100];
    char **records;
    scanf("%d", &n);
    records = (char**)malloc(sizeof(char*)*n);
    for (;i<n;++i) {
        records[i] = (char*)malloc(sizeof(char)*100);
        scanf("%99s", records[i]);
    }
    scanf("%99s", search);
    for (i=0;i<n;i++) {
        if (strcmp(records[i], search) == 0) {
            ++cnt;
        }
    }
    printf("%d\n", cnt);
}

追问

这个能测试多组数据吗

追答

这个是符合题意的

本回答被提问者采纳
第2个回答  2017-11-03
可以参考以下代码:
void main(){
int N;
scanf("%d",&N);
int a[N],n,i,j=0;
scanf("%d",a);
scanf("%d",&n);
for(i=0;i<N;i++){
if(a[i]==n){
printf("a[%d] ");
j++;
}
}
if(j==0)
printf("Not Found \n");
else
printf("\n");
}追问

老哥,看题

本回答被网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网