落絮飞雁

顺流而下,把梦做完

【ACM】ACM steps 1.1.3

A+B for Input-Output Practice (III)

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 28263 Accepted Submission(s): 15357

Problem Description
Your task is to Calculate a + b.

Input
Input contains multiple test cases. Each test case contains a pair of integers a and b, one pair of integers per line. A test case containing 0 0 terminates the input and this test case is not to be processed.

Output
For each pair of input integers a and b you should output the sum of a and b in one line, and with one line of output for each line in input.

Sample Input
1 5
10 20
0 0

Sample Output
6
30

解:

#include
 int main()
 {
    int a,b;
    scanf("%d %d",&a,&b);
    while(!(a==0&&b==0))
    {
    printf("%dn",a+b);
     scanf("%d %d",&a,&b);
    }
 }
华丽丽的一次过,没什么好说的……貌似之前的两题在wp上发表的时候格式有点问题……已经修正这个问题了~

【ACM】 ACM steps 1.1.2

1.1.2 A+B for Input-Output Practice (II)

 

Problem Description

Your task is to Calculate a + b.

 

Input

Input contains an integer N in the first line, and then N lines follow. Each line consists of a pair of integers a and b, separated by a space, one pair of integers per line.

Output

For each pair of input integers a and b you should output the sum of a and b in one line, and with one line of output for each line in input.

Sample Input

2

1 5

10 20

Sample Output

6

30

Author

lcy

Recommend

JGShining

解:

#include
#define M 1000
int main()
{
int a,b,i,j,sum[M];//一维数组来解
scanf("%d",&i);
for(j=0;j

简单的一维数组的应用,注意while语句不要直接把自增循环写进去,这道题又没有一次过,原因又是低级错误,一开始我还以为HDOJ不能把注释写进去呢……

【ACM】ACM steps 1.1.1

从今天开始做steps上面的题目了。大体看了一下难度,感觉不是很难,现在都是一些A+B的题目,争取一次过掉。把源码发在这里,再写几句解题心得什么的……

1.1.1A+B for Input-Output Practice (I)

 

Problem Description

Your task is to Calculate a + b.
Too easy?! Of course! I specially designed the problem for acm beginners.
You must have found that some problems have the same titles with this one, yes, all these problems were designed for the same aim.

 

 

Input

The input will consist of a series of pairs of integers a and b, separated by a space, one pair of integers per line.

Output

For each pair of input integers a and b you should output the sum of a and b in one line, and with one line of output for each line in input.

Sample Input

1 5

10 20

Sample Output

6

30

Author

lcy
参考代码:

#include
 int main()
 {
    int a,b;
   while(scanf("%d%d",&a,&b)!=EOF)
   printf("%dn",a+b);
 }

 

最简单的题目了,没什么好说的,注意while语句后面不要加分号,一开始居然错在这上面了………………

当小白兔遇上大灰狼

欢乐的视频开场

转自PKAV技术宅小组,感谢@only_guest

=========我是罪恶的分割线==========

RT,这类信息你是不是也收到过?!

唔,QQ上最近出现了好多这类的信息。一般都是通过做一个假的空间登陆页面来获取用户的QQ密码一类诈骗。如图示:

昨晚,又收到了一条这类的消息。本打算默默回句话提醒一下对方改改密码,岂不知那盗号的居然还没有下线。于是就有了如下的对话……

盗号的好嚣张!!貌似到这里盗号者灰溜溜的下线了?!

所以今天写这篇文章的目的就是告诉大家这类链接背后的故事……

============我是正文的分割线==============

鸣谢PKAV技术宅小组提供的视频演示~

 

看到这里一定有人会说:既然这么恐怖,那么我们小白兔又改如何防御呢?

答案是:无法防御,防不胜防……

但是我们可以尽可能的不让自己上当~尽管小白兔无法与大灰狼匹敌,但是至少我们可以做到不去点陌生的链接,不去随便输自己的用户名密码。然后嘛,把这些诈骗的信息发给技术大牛来解决。

最后,为了更多的小伙伴们的账号安全,用力的转起吧!

欢迎↓点击下面↓的分享到按钮分享~



昨日黑莓,明日黄花

本文全文转载自微信公众号:MACtalk。

今天看到一则消息,黑莓正式宣布裁员40%,将近4500人失去了在黑莓工作的机会。根据媒体报道,黑莓第二季度的营收仅为16亿美元,手中的现金只能维持16个月的光景,裁员是避免公司进一步下滑的措施之一。何去何从?已经是摆在黑莓桌面上的生死难题。

 

黑莓手机一度是智能手机的品牌代表,独特的全键盘用户体验和安全特性,让很多公司为他们的商业精英配备了黑莓手机,他们一边开会一边在黑莓上打字,拇指上下翻飞,一条条短信和邮件顺着手臂、拇指流到键盘和屏幕上,各种事务和业务在黑莓上流转,我曾经看到一位国外的媒体人员用黑莓手机敲敲打打写出了一篇新闻稿,长达几十屏,由于身边没有小伙伴,只好自己惊呆了。

 

黑莓手机成了个人电脑的有效补充,在智能手机界一时间谈笑有鸿儒,往来无白丁,高端大气不做他想。

 

如果这个世界上没有出现 iOS 和 Android,现在的黑莓一定风光无限。这个假想同样适用于坚硬的诺基亚和明媚的摩托罗拉。可惜2007年 iOS 伴随着 iPhone 横空出世,一年后 Android 问世。那时候这些手机巨头的想法是:

 

「现在我们一年要卖出好几百万台智能手机,苹果连一部都还没卖出去」

「技术上很难实现,他们的手机续航时间可能只能支持一天,有多少用户会购买这样的手机呢」

「他们试图把电脑塞进手机里,太可笑了」

 

现在的想法是:

 

「我们再也不是一家充满创新活力的公司」

「客观地说,iPhone 的出现让我们措手不及」

「他们赢了」

 

iPhone 从2007年起步,历时6年,时至今日,与 Android 一起横扫天下。历史为这些公司预留了足够的时间,但是非常遗憾,没有人去打开时间之门。

 

 

半冷半暖秋天,熨帖在你身边

静静看着流光飞舞

那风中一片片红叶,惹心中一片绵绵

半醉半醒之间,再忍笑眼千千

 

今日依然流光飞舞,但是昨日黑莓,可能已是明日黄花。

【C语言笔记】一维数组

数组学习

1,  一个数组只能处理同一类型的数据

2,  只能逐个引用数组中的数据

3,  赋初值时元素个数可以省略

Ep:int a[ ]={1,2,3,4,5,6,7,8,9,10};

C语言会根据初值的个数来确定数组的长度

未赋初值的元素默认为0

4,  数组的下标数永远小于数组个数!个数为10的数组不会有a[10]。超出后C语言不会报错,但是会导致程序错误!——C语言不检查数组的边界

5,  Ep:输入十个数,输出最大值

#include<stdio.h>

void main()

{

         int avg[10],i,big;

         for(i=0;i<10;i++)

                   scanf(“%d”,&avg[i]);

         big=avg[0];/*注意这里要先让big等于数组的任意个数 */

         for(i=0;i<10;i++)

                   if(avg[i]>big)

                            big=avg[i];

         printf(“%d”,big);

         system(“pause”);

}

6,  数组输出时为了美观最好定义“最小输出宽度”,即printf(”%5d”),数要大于最大的数组值的位数

 

 

 

7,  只能在定义时给数组批量赋值,不能

Int a[5];

a[5]={1,2,3,4,5};

写法是错误的,因为此时的a[5]不再表示数组的个数

Hello,World!

在时间的风声里,你听见了吗?
那一年,那一天,那些关于我们的记忆,
如同一枚珍珠在贝壳里坚定地成长,等待着价值无双。
我想要轻轻诉说,关于你的出现,啼破了那个秋日里的沉寂,
化成我们心房里的阳光;还有
千百个日日夜夜里陪伴你的:大家亲切的微笑、拳拳的期望。
我想在阳光下把我们的照片贴在长长的走廊,
一帧帧都记录着你渐渐成熟的模样,
凝望时蓦然发现,不知不觉中它们已经染成万缕金黄,
多让人心花怒放。
我只是想像,想象暖暖的艳阳下,你在花园中央,舞步飞扬。
扮着俏丽的轻妆,你放声歌唱,
声声都如此婉转悠扬,唤醒了沉睡的春光。
我的思绪随着海浪轻轻荡漾,
天际在遥远的前方绽放出一层耀眼的光芒。
然后,我将携着一抹霞光,带上你灿烂的过往,
再次踏上漫漫征途。

 

2002年2月15日,网站正式成立!
2006年7月13日,网站整体搬迁,PV突破十万
2008年网站正式改名为落絮飞雁,PV突破三十万
2011年2月11日,网站更换了全新的LOGO

2013年10月,网站采用wordpress模板

2013年10月23日,www.luoxufeiyan.com上线!

未来,等待我们的还有很多……

落絮飞雁,感谢有你!

131101c语言上机上机

一,判断题

FTTTTT

二,选择题

CCDBBB

三,填空见评论

四、编程题

1.仿照例1.1,编程序在屏幕上显示:

*****************************

Merry Christmas!

Happy New Year!

*****************************  

解:#include <stdio.h>

void main()

{

printf(“*****************************n”);

printf(“Merry Christmas!n”);

printf(“Happy New Year!n”);

printf(“*****************************n”);

}

2.仿照例1.2编程,输入一个整数,计算这个数的平方。

解:#include<stdio.h>

void main()

{

int a,z;

scanf(“%d”,&a);

z=a*a;

printf(“%dn”,z);

}

排序——基本操作

实验八:排序的基本操作

输入一组关键字序列分别实现下列排序:
(1)实现简单选择排序、直接插入排序和冒泡排序。
(2)实现希尔排序算法。
(3)实现快速排序算法。
(4)实现堆排序算法。
(5)采用链式存储实现简单选择排序、直接插入排序和冒泡排序。
(6)在主函数中设计一个简单的菜单,分别测试上述算法。

综合训练:采用几组不同数据测试各个排序算法的性能(比较次数和移动次数)。


# include 
# include 

#define MAXSIZE 20
typedef int KeyType;

typedef struct
{
         KeyType key;
         //InfoType otherinfo;
}RedType;
typedef struct
{
         RedType r[MAXSIZE+1];
         int length;
}SqList;

typedef SqList HeapType;

typedef struct Node
{
         int data;
         struct Node * pNext;
}Node, *pNode;

void printMenu();
void InsertSort(SqList &);
bool LT(int ,int );
void traverse(SqList &);
void SelectSort(SqList &);
int SelectMinKey(SqList &, int);
void BubbleSort(SqList &);
void ShellSort(SqList &L, int dlta[], int t);
void ShellInsert(SqList &L, int);
void Qsort(SqList &, int ,int);
int Partition(SqList &, int ,int);
void HeapSort(HeapType &);
void HeapAdjust(HeapType &, int ,int );
void Ltraverse(pNode &);
void LSelectSort(pNode &);
pNode LSelectMinkey(pNode &);
void LBubbleSort(pNode &);

int main()
{
         int n;
         SqList L;
         pNode pHead, p, q;
         if( !(pHead=(pNode)malloc(sizeof(Node)) ))
                   exit (-1);
         pHead->pNext = NULL;
         int dlta[99] = {3, 2, 1};
         printf("请输入数组长度L.length = ");
         scanf("%d", &L.length);
         p = pHead;
         for(int i=1; idata = L.r[i].key;
                   p->pNext = q;
                   p = q;
         }
         p->pNext = NULL;


         printMenu();
         while(scanf("%d", &n)!=EOF)
         {
                   switch(n)
                   {
                   case 1:
                            SelectSort(L);
                            printf("---排序后的数组为:");
                            traverse(L);
                            break;
                   case 2:
                            InsertSort(L);
                            printf("---排序后的数组为:");
                            traverse(L);
                            break;
                   case 3:
                            BubbleSort(L);
                            printf("---排序后的数组为:");
                            traverse(L);
                            break;
                   case 4:
                            ShellSort(L, dlta, 2);
                            printf("---排序后的数组为:");
                            traverse(L);
                            break;

                   case 5:

                            Qsort(L, 1, L.length);
                            printf("---排序后的数组为:");
                            traverse(L);
                            break;
                   case 6:
                            HeapSort(L);
                            printf("---排序后的数组为:");
                            traverse(L);
                            break;
                   case 7:
                            LSelectSort(pHead);
                            Ltraverse(pHead);
                            break;

                   case 8:
                            BubbleSort(L);
                            traverse(L);
                            break;
                   case 9:
                            LBubbleSort(pHead);
                            Ltraverse(pHead);
                            break;

                   default:
                            printf("---输入有误,请重新输入!!---n");
                   }
                   printMenu();
         }


         return 0;
}

void printMenu()
{
         printf("------排序菜单如下------n");
         printf("1.简单选择排序n");
         printf("2.直接插入排序n");
         printf("3.冒泡排序n");

         printf("4.希尔排序n");
         printf("5.快速排序n");
         printf("6.堆排序n");
         printf("7.链式存储实现简单选择排序n");
         printf("8.链式存储实现简单直接插入排序n");
         printf("9.链式存储实现简单冒泡排序n");
         printf("---请选择排序方式:");
}

void InsertSort(SqList &L)
{
         int i, j;
         for( i=2; i=b )
                   return false;
         else
                   return true;
}

void traverse(SqList &L)
{
         for( int i=1; i L.r[j].key)
                            {
                                     t = L.r[i];
                                     L.r[i] = L.r[j];
                                     L.r[j] = t;
                            }
                   }
}

void ShellSort(SqList &L, int dlta[], int t)
{
         int k;
         for(k=0; k0 && LT(L.r[0].key, L.r[j].key); j-=dk)
                                     L.r[j+dk] = L.r[j];
                            L.r[j+dk] = L.r[0];
                   }
}

void Qsort(SqList &L, int low, int high)
{
         int pivotloc;
         if(low=pivotkey)
                            --high;
                   L.r[low] = L.r[high];
                   while(low0; i--)
                   HeapAdjust( H, i, H.length );
         for( i = H.length; i>1; i--)
         {
                   t = H.r[1];
                   H.r[1] = H.r[i];
                   H.r[i] = t;
                   HeapAdjust(H, 1, i-1);
         }
}

void HeapAdjust(HeapType &H, int s,int m)
{
         int j;
         RedType rc;
         rc = H.r[s];
         for( j=2*s; jpNext;
         while( NULL != p)
         {
                   printf("%d ", p->data);
                   p = p->pNext;
         }
         printf("n");
}

void LSelectSort(pNode &pHead)
{
         pNode p, q;
         int t;
         q = (pNode)malloc(sizeof(Node));
         for( p = pHead->pNext->pNext; NULL != p->pNext; p = p->pNext)
         {
                   q = LSelectMinkey( p );
                   if( p->data != q->data)
                   {
                            t = p->data;
                            p->data = q->data;
                            q->data = t;
                   }
         }
}

pNode LSelectMinkey(pNode &p)
{
         pNode q;
         q = p;
         int min;
         min = q->data;
         while( p != NULL)
         {
                   if( p->data data;
                            q = p;
                   }
                   p = p->pNext;
         }

         return q;
}

void LBubbleSort(pNode &pHead)
{
         int  t;
         pNode p,q;
         //RedType t;
         for( p=pHead->pNext;  p->pNext->pNext != NULL;  p = p->pNext)
                   for( q=p->pNext; q->pNext!=NULL; q=q->pNext)
                   {
                            if(p->data > q->data)
                            {
                                     t = p->data;
                                     p->data = q->data;
                                     q->data = t;
                            }
                   }
}

双路由器的设置方法(多图杀猫)

准备:

路由器两个,分别命名为路由器1(本例为腾达的一款路由器)、路由器2(本例为TP-lINK

网线一根

保证在只有路由器1的情况下能上网

1,设置计算机为自动获得IP

2,设置路由器1

1》登陆

2打开路由器1DHCP功能(重要!!)

点击DHCP服务器勾选启用

3》修改路由器1LANIP地址,就是路由器自己的IP,目的是与之后设置的路由器2IP不冲突。其实修改哪个都是无所谓的,只要不冲突就行…………

OK,路由器1设置完毕了

3,连接路由器2

做一根网线,插入路由器1的任意一个LAN口,另一头插路由器2WAN口。如图(网上 的图)

4,设置路由器2

1》链接到路由器2

2》登录路由器2

唔……TP-lINK的登录界面

3》修改路由器2LANIP,就是上文说的与路由器1不冲突~

4》修改路由器2的链接方式

修改为动态IP即可。

(上文我们启用了路由器1DHCP功能,则路由器2与路由器1下分的任意一台电脑处于平等关系,理论上会使路由器2下分的电脑速度有所减慢,但由于路由器2作为一个单独的设备存在,所有路由器2下分的机器指向路由器2的网关,使得安全性大大提高~PS:追求速度的话就把路由器2HUB使用,水晶头插入路由器2LAN口)【如果括号内的话读了两遍还是不懂的话就无视掉吧~~~~

5关闭路由器2DHCP功能【重要!!】(这一步之所以放在最后是因为设置完后要重启路由器的)

6》按照提示重启路由器2

OK,大功告成!

计算机可根据需要选择使用路由器1或路由器2上网~