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.输出结果:
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.输出结果:
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); }
|