我用 C 编写了一个程序,它运行良好。当我试图将它翻译成 C# 语言时,它没有被编译。问题是 C# 不知道 C 中scanf ("%19s" , string1);
like的含义。
我改为scanf
:
string read;
do
{
read = Console.ReadLine();
}
while (read.Length <= 19);
它无法正常工作。然后我尝试:将其更改为:
string string1Input = Console.ReadLine();
它工作得更好,但if
没有检查语句,因为我得到所有“总和”-s 等于 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;
}
}
prog 的想法是:
程序为我们键入的单词的每个字母赋予数字含义,并将这些数字相互添加。
问题二:如何制作
if (string1[rigi-1]==i)
{
sum=sum-10; sum2=sum2-10; sum3=sum3-55;
}
工作?