zoukankan      html  css  js  c++  java
  • a 产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复。

    int[] intArr=new int[100]; 
    ArrayList myList=new ArrayList(); 
    Random rnd=new Random(); 
    while(myList.Count<100) 
    { 
    int num=rnd.Next(1,101); 
    if(!myList.Contains(num)) 
    myList.Add(num); 
    } 
    for(int i=0;i<100;i++) 
    intArr[i]=(int)myList[i];
           20.请叙述类与结构的区别。
      1)、结构是值类型;
      2)、结构不支持继承;
      3)、结构不能定义默认的构造函数;
      4)、结构不能定义析构函数;
      5)、结构不能使用初始值设置域值。

    在c#中using和new这两个关键字有什么意义,请写出你所知道的意义?

    Using 引入一个名子空间,或在使用了一个对像后自动调用其IDespose,New 实例化一个对像,或修饰一个方法,表此方法完全重写此方法
    2.在下面的例子里
    using System;
    class A
    {
    public A(){
    PrintFields();
    }
    public virtual void PrintFields(){}
    }
    class B:A
    {
    int x=1;
    int y;
    public B(){
    y=-1;
    }
    public override void PrintFields(){
    Console.WriteLine("x={0},y={1}",x,y);
    }
    当使用new B()创建B的实例时,产生什么输出?X=1,Y=0
    3.下面的例子中using System;
    class A
    {
    public static int X;
    static A(){
    X=B.Y+1;
    }
    }
    class B
    {
    public static int Y=A.X+1;
    static B(){}
    static void Main(){
    Console.WriteLine("X={0},Y={1}",A.X,B.Y);
    }
    }
    产生的输出结果是什么?x=1,y=2

    76.C#代码实现,确保windows程序只有一个实例(instance)

        ///<summary>       
     ///应用程序的主入口点。      
      ///</summary>   
         [STAThread]     
       staticvoid Main()     
        {          
      //防止程序多次运行        
        if(!OneInstance.IsFirst("GetPayInfo"))      
          {            
        MessageBox.Show ("警告:程序正在运行中! 请不要重复打开程序!可在右下角系统栏找到!","程序错误提示:",MessageBoxButtons.OK,MessageBoxIcon.Stop);          
          return;       
         }         
       Application.Run(new Form1());      
      }
    
       // ******************* 防止程序多次执行
      publicabstractclass OneInstance     
        {         
        ///<summary>    
        ///判断程序是否正在运行            
       ///</summary>           
       ///<param name="appId">程序名称</param>  
       ///<returns>如果程序是第一次运行返回True,否则返回False</returns>    
            
    publicstaticbool IsFirst(string appId)            
     {            
         bool ret=false;     
                
    if(OpenMutex(0x1F0001,0,appId)==IntPtr.Zero)                
     {               
          CreateMutex(IntPtr.Zero,0,appId);   
                      ret=true;         
            }       
              return ret;     
    }  
    
    
         [DllImport("Kernel32.dll",CharSet=CharSet.Auto)]  
    
               privatestaticextern IntPtr OpenMutex(         
            uint dwDesiredAccess, // access         
            int bInheritHandle,    // inheritance option     
                string lpName          // object name          
           ); 
           [DllImport("Kernel32.dll",CharSet=CharSet.Auto)]             privatestaticextern IntPtr CreateMutex(            
         IntPtr lpMutexAttributes, // SD         
            int bInitialOwner,         // initial owner         
            string lpName        // object name           
          );       
      } 

     94、列举ASP.NET 页面之间传递值的几种方式。 

    答. 1.使用QueryString,
    
          源页面
    
          string url;
    
           url="anotherwebform.aspx?name=" + TextBox1.Text
    
           Response.Redirect(url);
    
          目标页面
    
           Label1.Text=Request.QueryString["name"];
    
         2.使用Session变量
    
          源页面
    
          Session["name"]=TextBox1.Text;
    
          Session["email"]=TextBox2.Text;
    
          Server.Transfer("anotherwebform.aspx");
    
         目标页面
    
          Label1.Text=Session["name"].ToString();
    
          Label2.Text=Session["email"].ToString();
    
          Session.Remove("name");
    
          Session.Remove("email");
    
         3.使用Server.Transfer
    
          源页面代码:
    
        public string Name
    
    {
    
    get {
    
    return TextBox1.Text; }
    
    }
    
    //然后调用Server.Transfer方法
    
    private void Button1_Click
    
    (object sender, System.EventArgs e)
    
    {
    
    Server.Transfer("anotherwebform.aspx");
    
    }
    
         目标页面代码:
    
    private void Page_Load
    
    (object sender, System.EventArgs e)
    
    { 
    
    WebForm1 wf1;
    
    wf1=(WebForm1)Context.Handler;
    
    Label1.Text=wf1.Name;
    
    }

    95、一列数的规则如下: 1、1、2、3、5、8、13、21、34......   求第30位数是多少, 用递归算法实现。

    答:public class MainClass 
    
         { 
    
             public static void Main()   
    
             { 
    
                 Console.WriteLine(Foo(30)); 
    
             } 
    
             public static int Foo(int i) 
    
             { 
    
                 if (i <= 0) 
    
                     return 0; 
    
                 else if(i > 0 && i <= 2) 
    
                     return 1; 
    
                 else return Foo(i -1) + Foo(i - 2); 
    
             } 
    
         } 

    97、请编程遍历页面上所有TextBox控件并给它赋值为string.Empty?

          foreach (System.Windows.Forms.Control control in this.Controls)
    
           {
    
    if (control is System.Windows.Forms.TextBox)
    
    {
    
         System.Windows.Forms.TextBox tb = (System.Windows.Forms.TextBox)control ;
    
         tb.Text = String.Empty ;
    
    }
    
           }

    98、请编程实现一个冒泡排序算法?

    int [] array = new int [*] ;
    
    int temp = 0 ;
    
    for (int i = 0 ; i < array.Length - 1 ; i++)
    
    {
    
    for (int j = i + 1 ; j < array.Length ; j++)
    
    {
    
    if (array[j] < array[i])
    
    {
    
    temp = array[i] ;
    
    array[i] = array[j] ;
    
    array[j] = temp ;
    
    }
    
    }
    
    }


    第二种
    using System; 
    using System.Collections.Generic; 
    using System.Linq; 
    using System.Text;
    namespace 冒泡排序
     {      
    class Program     
    {          
              /// <summary>          
              /// 交换两个整型变量的值 
           /// </summary> 
              /// <param name="a">要交换的第一个整形变量</param>
              /// <param name="b">要交换的第一个整形变量</param>         private static void Reverse(ref int a, ref int b)        
     {
                int temp = a; 
                a = b; 
                b = temp; 
            }
    static void Main(string[] args) 
            {  
                while (true) 
                { 
                        string[] strInput;//用来接收用户输入的字符串
                  int[] intInput; 
                        string[] separator = { ",", " " };//设置分隔符                  Console.WriteLine("请输入数据,以","或空格分隔,或按"q"退出。");
    string str = Console.ReadLine();//接收键盘输入 
                    if (str == "q") 
                    { 
                         return;  
                   } 
                     strInput = str.Split(separator, StringSplitOptions.RemoveEmptyEntries);//将用户输入的字符串分割为字符串数组 
    intInput = new Int32[strInput.Length]; 
                      //将字符串数组的每一个元素转换为整型变量
                //转换时如果出现格式错误或溢出错误则提示
                     try 
                    { 
                         for (int i = 0; i < strInput.Length; i++)  
                       { 
                             intInput[i] = Convert.ToInt32(strInput[i]); 
                        }
                     } 
                     catch (FormatException err)
                     {
                          Console.WriteLine(err.Message);
                     }
                      catch(OverflowException err)
                     { 
                         Console.WriteLine(err.Message); 
                    } 
              //排序算法主体 
                     for (int i = 0; i < intInput.Length - 1; i++)//这里的Length要减1否则会超界
                     {
                          for (int j = 0; j < intInput.Length - i - 1; j++)//这里的Length要减i以减少重复运算
                         {
                              //如果元素j比它之后的一个元素大,则交换他们的位置                  //如此循环直到遍历完整个数组
                             if (intInput[j] > intInput[j + 1])
                             {
                                  Reverse(ref intInput[j], ref intInput[j + 1]); 
                            }
                         } 
                    } 
    string strOutput = "";//用于输出的字符串
                     foreach (int temp in intInput)
                     {
                          strOutput += Convert.ToString(temp) + ",";
     }
                      Console.WriteLine("排序后的数据为:
    {0}
    ", strOutput); 
                } 
            }
         }
     } 
    
    
    
    
    
    
  • 相关阅读:
    Vue2.0一个login跳转实例
    canvas动画—圆形扩散、运动轨迹
    根据地理信息绘画的html5 小游戏
    用vue开发一个猫眼电影web app
    微信小程序 iphone6 和 iphone6plus 如何设置rpx单位,通俗易懂的方法
    前端实例练习
    为表单加上即时通讯的能力
    MongoDB学习笔记4——GridFS基础
    剑指Offer(Java版)第十三题:请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。
    剑指Offer(Java版)第十一题
  • 原文地址:https://www.cnblogs.com/ruishuang208/p/3323192.html
Copyright © 2011-2022 走看看