繁体   English   中英

从动态分配的文件中计算最重复出现的元音

Counting most reacurring vowel from a dynamically allocated file

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

在代码的第一部分,我从一个文件中为五个字符串分配空间并将它们打印出来,第二部分我试图从文件中为每个字符串计算每个元音。 我想我的代码已经很接近了,但是每次计数器都会打印为零。 我认为第二次尝试读取文件可能存在问题,但可以使用正确方向的提示。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main( int argc, char *argv[] )
{
    char max[1024];
    char** buff;
    int i=0 ,num = 5;
    FILE *infile;
    int lc = 0;     //counts how many lines there are
    //asks for file name if none is supplied
    if ( argc < 2 )
    {
        printf("Must supply file name\n");
        return 1;
    }
    infile = fopen( argv[1], "r" );
    //checks to see if file opens
    if ( infile == NULL )
    {
        printf("could not open  %s\n", argv[1]);
        return 1;
    }
    buff = (char**)calloc(sizeof(max),sizeof(char));
    int k;
    for(k=0; k<num;k++){
        buff[k] = (char*)calloc(sizeof(max),sizeof(char));
    }
    while(fgets(max,sizeof(max),infile)){
        strcpy(buff[i],max);
        i++;
    }
    int x;
    for(x =1; x<i;x++){
        lc++;
        printf("%d:%s",x,buff[x]);
    }
    int counter[5];
    char c;
    rewind(infile);
    for(i=0; i<5; i++){
        counter[i]=0;}
    while (fscanf(infile,"%d",&c))
    {
         if (c=='a' || c=='A')
             counter[0]++;
         else if (c=='e' || c=='E')
             counter[1]++;
         else if (c=='i' || c=='I')
             counter[2]++;
         else if (c=='o' || c=='O')
             counter[3]++;
         else if (c=='u' || c=='U')
             counter[4]++;
    }
for(i = 0; i < 5; i++){
    printf("counter[%d] = %d\n", i, counter[i]);
}
1 个回复

您正在阅读fscanf(infile,"%d",&c) %d用于数字,但您需要字符。 请改用%c

2 从专栏联赛中计算出最好的

我已经在sql小提琴中建立表。 在到达VG2之前,查询最长计数多少的查询在列中more值VG1运行。 它使用“ pero”来计数。 可以了 现在我有MIX列,我需要编辑此查询以计算从League ='MIX'列得出的最长的运行时间。 这是查询的当前状态: SQLfidd ...

2016-06-12 01:20:28 0 37   mysql
3 如何从数组中计算出唯一的“模式”?

我的任务是查找给定数组的模式(未指定长度)。 模式定义为最唯一出现的数字。 因此,例如,数组[1.0、2.0、3.0、2.0]的模式为2.0。 但是,如果没有该值的唯一数字,例如[1.0、2.0、2.0、3.0、3.0],则程序在我的程序中返回“ no mode”或“ Double.NaN ...

4 如何在matlab中计算出定积分

我已运行以下命令来计算以下函数的数值积分。 但是在Matlab中,而不是数字作为输出,它给了我很大的表达。 具有以下参数: 我已经收到了这个结果。 任何解决此问题的方法,我将不胜感激。 如何在Matlab中计算此表达式? ...

5 如何从C文本中计算出不同的单词?

我写了这段代码,但是看起来太糟糕了。 此功能打印每个单词重复多少次。 是否有另一种方法可以简单易懂地完成相同的功能? } ...

2014-05-04 01:01:39 2 209   c
6 如何从外部函数中计算出向量?

我正在尝试编写一些代码,通过外部函数 digitSep() 获取数字的每个数字,并将其放入向量中,在本例中为vector&lt;int&gt; digits; . 知道为什么我不能在 for 循环中cout &lt;&lt; digits[i]或cout &lt;&lt; digits.at(i ...

8 在FIFO SQL中计算出价格

使用Postgres 11 使用FIFO,我想计算从库存中取出的物品的价格,以跟踪总库存的价值。 数据集如下: 在插入带有amount_taken的行之前,我需要计算14个项目中每个项目的平均价格是135,71 ,在这种情况下为135,71 ,但是如何计算这种相对有效的呢? ...

9 如何在scipy中计算出峰度?

我有这个代码来计算kurtosis( http://mathworld.wolfram.com/Kurtosis.html )使用我自己的代码,我将它与scipy.stats.kurtosis进行比较 为什么scipy会给出不同的结果? 我遵循mathworld中的定义。 ...

10 在R中计算出strsplit的输出

我有以下字符串表达式,我应用strsplit: 当有一个'a'时,上面的函数会分割x。 根据我的理解,返回的向量应该是一个列表,所以说我想得到x的第二个片段,我应该使用: 但是,这给了我一个错误: 我不知道如何解决这个问题。 我想要的只是访问字符串的碎片段。 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM