Csharp编程题判断合法标识符。

1.输入一个字符串,判断其是否是c#的合法标识符。
2.分析:

判断字符串是否不是是数字、字母(大小写)、下划线。
判断是否是数字开头(数字开头不是合法标识符)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
string str=Console.ReadLine();
bool isRight = true;
for(int i = 0; i < str.Length; i++)
{
if((str[i] < '0' || str[i]>'9')&&(str[i] < 'a' || str[i]>'z')&& (str[i] < 'A' || str[i] > 'Z') && (str[i] != '_'))
{
isRight = false;
break;
}
}
if (str[0]>='0'&&str[0]<='9')
{
isRight=false;
}
if (isRight)
{
Console.WriteLine("是合法字符");
}
else
{
Console.WriteLine("不是合法字符");
}
}

3.输出结果:

1
2
SHFKHFRjgjidgj12
是合法字符
1
2
12JHSJFjlfjsd
不是合法字符

Csharp编程题-回文串。

1.“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。请写一个程序判断读入的字符串是否是“回文”。
2.分析:

如果字符串是偶数的话,假如8/2=4,遍历0-3。如果是奇数的话,7/2=3,遍历0-2
假设字符串是8,那么索引对应的是0-7、1-6、2-5···,i对应的倒数length-1-i。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
string str = Console.ReadLine();
bool ha = true;
for (int i = 0; i < str.Length / 2; i++)
{
if (str[i] != str[str.Length - 1 - i])
{
ha = false;
break;
}
}
if (ha)
{
Console.WriteLine("是回文串");
}
else
{
Console.WriteLine("不是回文串");
}

3.输出结果:

1
2
 level
是回文串

Csharp编程题-查找最长连续次数

1.收集了连续N(1<N<10000000)天的最高气温数据。现在他想知道气温一直上升的最长连续天数。
样例输入:1 3 5 | 2 3 5 7 8 | 6 9
样例输出:5
2.分析:

判断前面的数字是否比后面小
如果后面的连续最高天数比后面的连续天数高则更新一下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
{
string str=Console.ReadLine();
string[] strArray = str.Split(' ');
int[] ints= new int[strArray.Length];
for(int i = 0; i < ints.Length; i++)
{
int number=Convert.ToInt32(strArray[i]);
ints[i]=number;
}
int maxDays = 0;//记录最高气温连续升高的天数
int count = 1;//记录气温连续升高的天数
for(int i = 0;i < ints.Length-1; i++)
{
if (ints[i] < ints[i + 1])
{
count++;
}
else
{
if (count > maxDays)
{
maxDays = count;
}
count = 1;
}
if (count > maxDays)
{
maxDays = count;
}
}
Console.WriteLine("最高气温连续升高的最长天数" + maxDays);
}