小编Spa*_*row的帖子

查找给定字符串中所有子字符串的出现次数

我使用一个简单的字符串函数strstr来查找文本中第一次出现刺痛.我使用以下代码来计算文本中唯一单词的数量.

for(int i=0;i<24;i++)
      {
              if(strstr(text,ops[i]))
              {                
                      op++;
              }

      }
Run Code Online (Sandbox Code Playgroud)

但我想找到程序中所有子字符串的出现.我可以在JAVA中轻松完成.但我被要求用C++做这件事.有帮助吗?

c++ string

3
推荐指数
1
解决办法
2万
查看次数

BigInteger循环无限执行

while(true) {
    if(((d.multiply(e)).mod(phi1)).equals(BigInteger.ONE))
        break;
    d.add(BigInteger.ONE);
}
Run Code Online (Sandbox Code Playgroud)

我的程序中有以下代码,这意味着

while(true) {
    if((d*e)%phil==1) 
        break;
    d++;
}
Run Code Online (Sandbox Code Playgroud)

这里e=17,phil=12816d=1开始.

但即使在等待很长时间之后,循环仍在执行.可能是什么错误?

java biginteger

1
推荐指数
1
解决办法
58
查看次数

输入最后一个数组元素时出现分段错误

我想输入一组蜇伤.要输入的字符串数等于测试用例数.但是当我尝试输入最后一个元素时,我得到了一个分段错误.这是代码.

int main()
{
    int test_cases=0;
    scanf("%d",&test_cases);
    char t[100][test_cases];
    int length=0;
    int i;

    for(i=0;i<test_cases;++i)
    {
        fgets(t[i],100,stdin);
    }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c arrays string

1
推荐指数
1
解决办法
157
查看次数

页面中存在两个按钮时的asp.net验证

我在页面中有两个按钮.第一个按钮(Button3)的功能是将确认邮件发送到第一个Textbox1中的邮件ID.第二个按钮(Button4)的功能是将值从textbox3和textbox4插入数据库.我为第一个文本框(textbox1)保留了必填字段验证器.因此,如果我将其留空并按下Button3,则会显示警告消息,该字段不能留空.但是,如果单击Button4,那么它会显示相同的警告消息,即该字段在textbox1旁边不能为空.为什么会这样?如何仅限制Button3的验证,而不限制Button4的验证?

这是我的C#代码,让你明白我到底在说什么.

protected void Button3_Click(object sender, EventArgs e)
    {
        MailMessage objMail = new MailMessage("mymail@gmail.com", TextBox1.Text, "confirm", TextBox2.Text);
        NetworkCredential objNC = new NetworkCredential("mymail@gmail.com", "mypassword");
        SmtpClient objsmtp = new SmtpClient("smtp.gmail.com", 587);
        objsmtp.EnableSsl = true;
        objsmtp.Credentials = objNC;
        objsmtp.Send(objMail);
    }
    protected void Button4_Click(object sender, EventArgs e)
    {
        try
        {
            String sCon = "SERVER=xyz;DATABASE=xyz;UID=xyz;password=xyz";
            MySqlConnection con = new MySqlConnection(sCon);
            MySqlCommand command = con.CreateCommand();
            command.CommandText = "insert into criminals values('"+TextBox3.Text +"','"+ TextBox4.Text + "')";
            con.Open();
            command.ExecuteNonQuery();
            con.Close();

        }
        catch (Exception ex)
        {
            Response.Write(ex.ToString());
        }
    } …
Run Code Online (Sandbox Code Playgroud)

c# asp.net

0
推荐指数
1
解决办法
7013
查看次数

使用BigIntegers时,代码示例无限循环,但适用于整数

我整数的实际情况是

int d = 1;

while(true)
{
  if(((e*d)%f)==1)
  {
    break;
  }
  else 
    d++;
}
Run Code Online (Sandbox Code Playgroud)

我已经在BigInteger中写了这个条件

while(true)
{
  if(((e.multiply(d)).mod(f)).equals(1))
  {
    break;
  }
  else 
    d=d.add(BigInteger.ONE);
}
Run Code Online (Sandbox Code Playgroud)

当我在BigInteger中执行上面的代码时,它会无限执行.但是,当我以整数执行代码时,它会完美地执行并从循环中退出.请告诉我错误是什么.

java biginteger

0
推荐指数
1
解决办法
78
查看次数

无限循环.Java BigInteger

我的Java代码中有以下"while"循环.我的代码中的所有变量都是BigIntegers.

BigInteger d=new BigInteger("1");
BigInteger e=new BigInteger("3");
BigInteger phi1=new BigInteger("6336");
while(true)
{
    if(((d.multiply(e)).mod(phi1)).equals(BigInteger.ONE))
        break;
    d=d.add(BigInteger.ONE);
    //System.out.println(d);
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,循环无限执行.但我想在以下条件下添加休息:

if((d*e)%phi1==1)
    break;
Run Code Online (Sandbox Code Playgroud)

我已经转换成BigInteger了

if(((d.multiply(e)).mod(phi1)).equals(BigInteger.ONE))
    break;
Run Code Online (Sandbox Code Playgroud)

我哪里弄错了?任何人都可以告诉为什么循环无限执行?

java biginteger

0
推荐指数
1
解决办法
195
查看次数

在C中打印字符串数组时出错

我有一个简单的程序来输入一个包含5个字符串的数组并输出它们.但输出有些奇怪.以下是我的代码.

#include <stdio.h>

int main()
{
    char a[10][5];
    int i;
    for(i=0; i<5; ++i)
    {
        printf("\nEnter the name of %d st student:", i+1);
        fflush(stdout);
        gets(a[i]);
    }
    for(i=0; i<5; ++i)
    {
        printf("\n%s", a[i]);
        fflush(stdout);
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我把输入作为tom,john,peter,david和alan给出了以下输出.

tom
john
peterdavidalan
davidalan
alan
Run Code Online (Sandbox Code Playgroud)

可能是什么问题呢?

c arrays printf char

0
推荐指数
1
解决办法
1489
查看次数

#define的奇怪行为

我有以下代码.

#include <stdio.h>
#define d 10+10
int main()
{
    printf("%d",d*d);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

当10 + 10 = 20时,我认为d在程序中到处都是20.但是当我执行d*d时,我预计结果为d*d = 20*20 = 400.但结果打印为120.任何人都可以给我这个行为的解释吗?

c c-preprocessor

0
推荐指数
1
解决办法
92
查看次数

标签 统计

biginteger ×3

c ×3

java ×3

arrays ×2

string ×2

asp.net ×1

c# ×1

c++ ×1

c-preprocessor ×1

char ×1

printf ×1