24661人加入学习
(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;

}

intmax1 = 0;int max2= 0;
for(int i =0; i < intArray.Length; i+){
    if(intArray[i]> max1){
     max2 = max1;
     max1=intArray[i];
}
else{
       if (intArray[i] >max2){
         max2=intArray[i];
         }
     }
}

Console.WriteLine(max2);
 

 

static woid Main(string[] args){
string str = Console.ReadLine();

char temp ="";
for(int i =0; i < str.Length; i+){
   int count =0 ;
    for(int j=0; j< str.Length; j++){
      if (str[j] = str[i{
        count++ ;
          if (count ==2){
            break;
               }
         }
}
if (count==1)
         temp =str[i];

              break;
}
)
if(temp='"){
console.writeLine(no");
}
else{
console.writeLine(temp);
}
}
}
)
 

[展开全文]

第九十五课  编程题—第二大数和第一个出现一次的字符

我能想到的方法是冒泡排列后再输出倒数第二个数字。

做了几次没做出来,让我再继续想想。(2022.3.29)

//输入10个不相等的正整数,输出这10个正整数中的第二大的数。
//样例输入:3 5 7 2 9 5 3 10 3 8
//样例输出:9
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 max1 = 0;int max2 = 0;
for(int i = 0; i < intArray.Length; i++)
{
    if (intArray[i] > max1)
    {
        max2 = max1;
        max1 = intArray[i];
    }
    else
    {
        if (intArray[i] > max2)
        {
            max2 = intArray[i];
        }
    }
}
Console.Write("第一大值是:" + max1 + "    第二大值是:" + max2);

啊~~原来这么简单!!是我想复杂了,要不是听老师讲,现在是没憋出来呢!

原理:

用max1与每个数字比较,如果比较的数字比max1大,那么这个数字就给max1,然后max1被替下来的那个值给max2保存(当然,要先用max2保存max1不要的那个值,在把大于max1的数字赋值给max1);如果数字不大于max1的值,这个数字就与max2比较,如果这个数字大于max2,这个数字就与max2交换。

说的通俗些,保持max1最大,max2第二大,然后用数字和max1和max2分别比较,如果比自己大就拿过来。

[展开全文]

授课教师

SiKi学院老师

课程特色

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