24855人加入学习
(72人评价)
C#编程-第一季-编程基础-宇宙最简单2021最新版

制作完成于2021年10月10日,使用Visual Studio 2019

价格 免费

string str = Console.ReadLine();

string[] strArray = str.Split("");

int[] intArray = new int[strArray.Length];

for (int i =0; i < strArray.Length; i++){

int number = Convert.ToInt32(strArray[i]);

intArray[i]= number;

}

int maxdays = 0;//记录最高气温连续升高的天数

int count =1;//记录气温连续升高的天数

for(int i= 0;i<intArray.length-1;i++)

{

      if(intArray[i]<intArray[i+1])

        {

            count++;

          }

     else 

 {

    if (count > maxdays)

     {

            maxdays  = count;

     }

  count = 1;

  }

}

if (count > maxdays)

     {

            maxdays  = count;

     }

 

[展开全文]

第九十四课 编程题-回文串-最长连续天数

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

string a = Console.ReadLine();
bool temp = false;
for(int i = 0; i < a.Length / 2; i++)
{
    if (a[i] == a[a.Length - 1 - i])
    {
        temp = true;
    }
    else
    {
        temp = false;
        break;
    }
}
if (temp==false)
{
    Console.Write("不是回文串");
}
else
{
    Console.Write("是回文串。");
}

这里注意a[i]与a.Length的关系,前者是从0开始计算,后面是从1开始计算,所以两者条件要统一才可以比较并用于判断。

当字符串为偶数是不用解释了,头与尾一对一的比较。

当字符串为奇数时,中间的数字自然不用比较了,用循环次数限制一下即可,因为整数除以2时只保留整数位的,所以a.Length/2是整数。

2. 最近夏日炎热,令张三非常不爽。张三开始研究天气的变化,历经千辛万苦,他收集了连续N(1<N<1000000)天的最高气温数据。
现在他想知道气温一直上升的最长连续天数。
样例输入:  1352357839  样例输出:5
string str = Console.ReadLine();
string[] strArray = str.Split(" ");
int[] intArray = new int[strArray.Length];
for (int i = 0; i < strArray.Length; i++)
{
    int number = Convert.ToInt32(strArray[i]);
    intArray[i] = number;
}
int count = 1;
int maxDays = 0;
for (int i = 0; i < intArray.Length - 1; i++)
{
    if (intArray[i] < intArray[i + 1])
    {
        count++;
    }
    else
    {
        if (count > maxDays)
        {
            maxDays = count;
        }
        count = 1;
    }
}
if (count > maxDays)
{
    maxDays = count;
}
Console.WriteLine("气温连续升高的最长天数为:" + maxDays + "天");

注解:

for (int i = 0; i < intArray.Length - 1; i++)

样例中数字个数为10,这里表示0到8,所以循环为9次(0-8月1-9是一样的)

 

if (intArray[i] < intArray[i + 1])

前面的数字小于后面的数字,语句为true,只有在语句为false时,也就是前面的数字大于后面的数字时,语句才会跳转到else下的if语句中( if (count > maxDays))执行判断来完成记录的比较次数,这里的count初始数值为1.    当intArray[8] < intArray[9]时,语句执行循环到了尽头,而语句执行也停止在了count++此时count的值为2,此时程序向下继续执行       if (count > maxDays),但这是if语句判断条件为false所以maxDays的值保持上次结果并输出。

 

[展开全文]

判断是否是回文字符串

string str=Console.WriteLine();
bool isHui=true;
for ( int i = 0 ; i < str.Length / 2 ; i++ )
{
    if ( str [ i ] != str [ str.Length - 1 - i ]);
    {
        isHui=falue;
        break;
    }
}

 

[展开全文]

授课教师

SiKi学院老师

课程特色

下载资料(1)
视频(118)
图文(1)