zoukankan      html  css  js  c++  java
  • 杭电oj2072

    因为一直不能ac先发这里,希望有看到的大佬能指点一二。

    先讲一下我的基本思路,首先将一整行数据保存在数组中,接着遍历数组,根据空格将每个单词存入二维数组中,最后遍历二维数组,找出其中不同的单词并计数。

     1 #include<stdio.h>
     2 #include<string.h>
     3 
     4 int cmp(char s[]){
     5     char o[100][100],p[100][100];  //定义两个二维数组,第一个用于存放所有单词,第二个用于遍历第一个数组,将其中不同的单词存入第二个中
     6     int i,len,j=0,k=0,count,num=0,flag;
     7     len = strlen(s);
     8     for(i=0;i<len;i++){     //遍历输入的字符串,根据空格将每个单词存入第一个二维数组
     9         if(s[i]==' '){o[j][k]='';j++;k=0;continue;}
    10         else{o[j][k++] = s[i];}
    11         
    12     }
    13     o[j][k]='';count=0;
    14     for(i=0;i<=j;i++){     //遍历第一个数组,将不同的单词存入第二个二维数组
    15         flag = 0;
    16         for(num=0;num<=count;num++){
    17             if(strcmp(o[i],p[num])==0){flag=1;break;}
    18         }
    19         if(flag==0){strcpy(p[count],o[i]);count++;}
    20     }
    21     return count;
    22 }
    23 
    24 int main(){
    25     char s[10000];
    26     int sum,k,m;
    27     while(gets(s) && strstr(s, "#") == NULL){
    28         sum = cmp(s);
    29         m=0;
    30         for(k=0;k<strlen(s);k++){  //判断如果输入全为空格,最后就输出0
    31             if(s[k]==' '){m++;}
    32         }
    33         if(m==strlen(s)){printf("0
    ");}
    34         else{printf("%d
    ",sum);}
    35 
    36     }
    37 }

    程序可以成功运行,相关参数输入也没问题,就是不能ac,不知错在哪里了.....

  • 相关阅读:
    sparql学习sparql示例、dbpedia在线验证
    中国绿卡
    逾期率的水有多深,你知道吗?
    ICO和区块链区别
    What are the benefits to using anonymous functions instead of named functions for callbacks and parameters in JavaScript event code?
    Link static data in sql source control
    sql data compare
    viewbag
    多态的实际使用
    win10 sedlauncher.exe占用cpu处理
  • 原文地址:https://www.cnblogs.com/Ragd0ll/p/10458310.html
Copyright © 2011-2022 走看看