8 -11作业汇总

8、15work


1、自己独立写出冒泡排序及选择排序

一、冒泡排序

二、选择排序


2. 找出数组元素中,差值(绝对值)最小的两个元素。

int[] intArr ={20,90,13,88,1,15,40};

//差值最小的两个数的下标

int miny = 0;

int minx = 0;

//最小差值、

int minDf = Math.Abs (intArr [0] - intArr [1]);

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

for (int j = i + 1; j < intArr.Length; j++) {//前面两个比较过了 ,从第二个开始,为了后面两个也取到 只-1

//计算两个数的差值

int dif = Math.Abs (intArr [i] - intArr [j]);

if (minDf > dif) {

minDf = dif;

minx = i;

miny = j;

}

}

}

Console.WriteLine ("{0},{1}", minx, miny);

3.  使用数组描述正整数的二进制表示,如5,则数组为{1,0,1} 。

int n  =int.Parse(Console.ReadLine ());

string binatyStr = "";

while (n > 0) {

int i = n %2;

binatyStr += i;//字符串拼接起来

n /= 2 ;

}

// Console.WriteLine (binatyStr);

//字符串长度即是数组长度

int[] binary = new int[binatyStr.Length];

//得到字符串的字符数组

char[] chars  = binatyStr.ToCharArray ();

int j =0;

for (int i = binatyStr.Length - 1; i >= 0; --i) {

binary [i] = chars [j] - 48;//把char 最后一个放到  int第一个去

++j;

}

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

Console.Write (binary[i]);

}

C:

4、思考和实现简单插入排序

插入排序

选择第一个有序数a {0 }

int[] intArr ={20,90,13,88,1,15,40};

int temp;

//记录需要比较的数的下标

int p;

for(int i = 1;i < intArr .Length;i++){// 往前比 i 不用等于 0

temp = intArr[i];// temp = 第 i 个

p = i -1;

while (p >= 0 && temp < intArr [p]) {

//后移操作

i是不变的  [p+1]是因为第一位的时候p = -1;

intArr [p + 1] = intArr [p];

--p;

}

intArr [p + 1] = temp;

}

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

Console.Write (intArr[i]+" ");



8、16work

1、输入一个5行5列的二维数组,编程实现:

(1)求出其中的最大值和最小值及其对应的行列位置.


const int m = 5;

const int n = 5;

int[,] arr = new int[5,5];

for(int i = 0;i<5;i++){

for (int j = 0; j < 5; j++) {

arr [i, j] = int.Parse (Console.ReadLine ());

}

}

//

int max = arr [0, 0], max_x = 0, max_y = 0;

int min = arr [0, 0], min_x = 0,min_y = 0;

for (int i = 0; i < 5; ++i) {

for (int j = 0; j < 5; ++j) {

if (max < arr [i, j]) {

max = arr [i, j];

max_x = i;

max_y = j;

}

if (min > arr [i, j]) {

min = arr [i, j];

min_x = i;

min_y = j;

}

}

}

Console.WriteLine ("最小值{0} 对应位置为{1} {2}", max, max_x, max_y);

Console.WriteLine ("最小值{0} 对应位置为{1} {2}", min, min_x, min_y);

(2)求出对角线上各元素之和.

int[,] arr = new int[5,5]{{11,21,31,41,15},{12,34,11,13,14},{32,21,22,43,41},{6,3,1,5,2},{10,12,91,12,34}};

int sum = 0;

for (int i = 0; i < 5; ++i) {

for (int j = 0; j < 5; ++j) {

if (i == j) {

sum += arr [i, j];

}

}

}

Console.WriteLine ("sum = "+ sum);

2. 求{"a","ba","bc","bad","abcde"}这个字符串数组中,字母a出现的次数

string[] arr = {"aaaa","aaba","bc","bad","abcde"};

int time = 0;

for (int j = 0; j < arr.Length; j++) {

string a = arr [j];

char[] chars = a.ToCharArray ();

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

if (chars [i] == 'a') {

time++;

}

}

}

Console.WriteLine (time );

foreach (string str in arr) {

foreach (char ch  in str) {//在string 中可以取出char 类型

if (ch == 'a') {

++time;

}

}

}

Console.WriteLine ("time ="+ time );

B:

3. 有一行英文语句,统计其中的单词个数(规定:单词之间以空格分隔),并将每一个单词的第一个字母改为大写

string  a ="hello boy how are you be be";

char[] chars = a.ToCharArray ();

int number = 0;

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

if (chars [0] <= 122 && chars [0] >= 97) {

char z = (char)(chars [0] - 32);

chars [0] = z;

}

if (chars [i] == ' ') {

number++;

char x = (char)(chars [i + 1] - 32);

chars [i + 1] = x;

}

}

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

Console.Write (chars [i]);

}

Console.WriteLine (number+1);

string  a ="  hello boy how are you be be  ";

// string []str =  a.Split (' ');//根据空格分割字符串数组  string方法  数组长度即是单词数量

string new_a = a.Trim();//去掉前后空格

int number = 0;

char[] charArr = new_a.ToCharArray();//转成一个新的字符数组

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

char ch = charArr  [i];

if (i == 0) {

if (ch >= 97 && ch <= 122) {

charArr [i] = (char)(ch - 32);

}

}

if (ch == ' ') {

number++;

char next_ch = new_a.ToCharArray () [i + 1];//把下一个转成字符

                                                                 //检查是否为小写字母

if (next_ch >= 97 && next_ch <= 122) {

charArr [i + 1] = (char)(next_ch - 32);

}

}

}

// string new_str = new string (charArr);//

string  new_str = "";

foreach(char  ch in charArr){

new_str += ch.ToString();

}

Console.WriteLine (new_str);

C:

4. 求二维数组{{1,2,3},{4,5,6},{7,8,9}}的鞍点。(鞍点:在行中最大,在列中最小的元素的位置,二维数组也可能没有鞍点)

11  21 31

10 50 70

//5 21 31

int [,] arr = {{4,21,31},{6,11,31},{7,21,31}};

int max_i = 0, max_j = 0;

//找出行最大的数  再在列中比较

for (int i = 0; i < 3; i++) {

int max = 0;

for (int j = 0; j < 3; ++j) {//判断是否是行中最大

if (max < arr [i, j]) {

max = arr [i, j];

max_i = i;

max_j = j;

}

}

bool isSaddlePoint = true;

for (int k = 0; k < 3; k++) {//判断是否是列中最小的

if (max > arr [k, max_j]) {

isSaddlePoint = false;

}

}

if (isSaddlePoint == true) {

Console.WriteLine ("有鞍点  {0}  {1}",max_i,max_j);

}

}

8、17

题型比较简单,枚举题型 参考C#(10)

// 1、定义一个枚举类型PrimitiveType用来表示常用的游戏物体,

// 该枚举包含枚举数:正方行Cube,胶囊体Capsule,圆柱体Cylinder,平面Plane,四边形Quad。

// 定义该枚举类型的变量并赋值,输出其默认的整型值


2、建立一个描述日期(Data)的枚举,描述星期一到星期天。

// 然后实现如下代码:

// 周一去钓鱼,

// 周二去爬山,

// 周三去上课,

// 周日在家休息。

// 完成设定后输出即可。

8yue18

1、分别根据X,  X和Y,XYZ    初始化三维向量 ,同时YZ ,Z为初始值

2、//创建学生结构体 包含姓名,年龄,学号,分数,有5个学生保存在结构体数组中,编程找出分数最高者

      //对学生数组按照年龄排序并让学生按照年龄升序进行自我介绍


周末思考题

1、模拟电影票选座系统,将100个座位号当做10*10二维数组,然后用0表示该座位未售出,1表示已售出,            任意顾客来买票时,若为1张,则随即抽取一个编号,若为2张,优先选择并排连续的座位,若无连座,则随即选取2个座位号。(使用随机数模拟)

2、现需要开发一款卡牌类手游,

每个玩家可以选择一名英雄并开始游戏,游戏中会可以不断提升等级和不断获得新装备。直至通关。

 请创建结构体存放英雄的信息,和装备的信息(自行补充信息)【腾讯面试题】

3、.  有100000个qq号,从000000到999999不等,在只读取1遍的前提下将其中重复的qq号挑出。(使用随机数模拟,数组长度不限)【谷歌面试题】

4、思考1000的阶乘尾部有多少个0。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容