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,不知错在哪里了.....

  • 相关阅读:
    编程之美-2.18 数组分割
    话题模型
    暂时跳过的Leetcode题目
    LDA主题模型
    二叉树非递归的统一实现
    取余和取模运算
    IDM非补丁破解方法
    两种建立堆的方法HeapInsert & Heapify
    非阻塞connect:Web客户程序
    非阻塞connect
  • 原文地址:https://www.cnblogs.com/Ragd0ll/p/10458310.html
Copyright © 2011-2022 走看看