gpt4 book ai didi

c# - 程序应该给一个单词特殊的数值(但是......)

转载 作者:行者123 更新时间:2023-11-30 19:48:55 26 4
gpt4 key购买 nike

我有一个用 C 语言编写的程序,它运行得很好。当我尝试将其翻译成 C# 语言时,它无法编译。问题是 C# 不知道 scanf ("%19s", string1); 的含义,就像在 C 中一样。
我将 scanf 更改为:

string read;
do
{
read = Console.ReadLine();
}
while (read.Length <= 19);

它无法正常工作。然后我尝试:将其更改为:

string string1Input = Console.ReadLine();

它工作得更好,但没有检查 if 语句,因为我得到的所有“sum”等于 0。

这是翻译成 C# 编写的程序:

public static class GlobalMembersAnbanisRicxvitiMnishvneloba
{
static int Main()
{
string string1 = new string(new char[20]);
sbyte a = (sbyte)'a';
sbyte b = (sbyte)'b';
sbyte g = (sbyte)'g';
sbyte X = (sbyte)'X';
sbyte i = (sbyte)'i';
sbyte H = (sbyte)'H';
sbyte V = (sbyte)'V';
etc..

int rigi;
int sum = 0;
int sum2 = 0;
int sum3 = 0;

Console.Write(" my word is:\n");

string string1Input = Console.ReadLine();

for (rigi = 0; string1[rigi] != '\0'; rigi++)
{
if (string1[rigi] == a)
{
sum3 = sum3 + 1;
sum2 = sum2 + 1;
sum = sum + 1;
}
else
if (string1[rigi] == b)
{
sum3 = sum3 + 3;
sum2 = sum2 + 2;
sum = sum + 2;
}


etc...
} /* end for*/
if (string1[rigi-1]==i)
{
sum=sum-10; sum2=sum2-10; sum3=sum3-55;
}
Console.Write("sum is:");
Console.Write("{0:D}\n", sum);
Console.Write("sum2 is:");
Console.Write("{0:D}\n", sum2);
Console.Write("sum");
Console.Write("{0:D}\n", sum3);
return 0;
}
}

该程序的想法是:
程序为我们输入的单词的每个字母赋予数字含义,并将这些数字相互添加。

问题二:如何制作

 if (string1[rigi-1]==i) 
{
sum=sum-10; sum2=sum2-10; sum3=sum3-55;
}

工作?

最佳答案

C# 中没有结束字符串,就像 C 中一样。实际上,C 中的字符串和 C# 中的字符串是完全不同的两个东西,并且使用方式也不相同。

因此,对于字符串的循环,最好的方法是使用 foreach 循环。
改变

for (rigi = 0; string1[rigi] != '\0'; rigi++)

foreach(var oneCaracter in string1Input)

那么string1[rigi]必须变成oneCaracter并且 sbyte 必须变成 char

样本校正:

char a = 'a';
int sum = 0;
int sum2 = 0;
int sum3 = 0;

string string1Input = Console.ReadLine();

foreach(char oneCaracter in string1Input)
{
if (oneCaracter == a)
{
sum3 = sum3 + 1;
sum2 = sum2 + 1;
sum = sum + 1;
}
}

if (string1Input[string1Input.Length - 1] == i)
{
sum = sum - 10; sum2 = sum2-10; sum3 = sum3-55;
}

关于c# - 程序应该给一个单词特殊的数值(但是......),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16189025/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com