无聊总结下

本文介绍了一种寻找数组中最大子序列和的方法,并提供了实现代码。此外还介绍了字符处理技巧、素数判断方法及链表的基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先呢 是一种思想
最大子序列
如何最大
我们这样想 和最大的情况 首先 你得尽可能的减少负数的录入
或者 万一中间一个负数 后面更大了如何
如果 一个负数使得前面的和加起来也没有这个负数打的时候
那就要抛弃掉这个负数 和之前的和

int thissum=0,maxsum=0;
for(int i=0;i<n;i++)
{   cin>>a[i];
    thissum+=a[i];
    if(thissum>maxsum) maxsum=thissum;  //寻找最大的值
    else if(thissum<0) thissum=0;//抛弃掉无用的值
}
cout<<maxsum;

然后呢 是一些好玩的东西了

我们知道 字符是做大数问题的主要方式 
如何方便的赋值呢
char c;
int i=0;
for(;(c=getchar())!='\n';)
     a[i]=c-48;i++;

这样就可一方便的赋值了 剩下的自行脑补;

下面的主要是一种装逼的模式 可以让新手感觉好流弊

鉴于 我逻辑不好  就打一篇完整的

int main()
{   void in(int );
    void out(int );
    ...................
    in(x);
    out(x);
}
void in(int x)
{ for(int i=0;i<x;i++) cin>>?}
void out(int x)
{for(int i=0;i<x;i++) cout>>?}

细节自行脑补

还有就是关于素数最快的判定方法了

首先  我们判定这货是不是偶数  
如果不能被2整除  就两个两个奇数判定

if(x%2==0) 不是素数
else 
for(i=2;i*i<=x;i+=2) if(x%i==0) 判定 

细节自行脑补

鉴于我着实很无聊
又刚刚看懂链表

首先 链表链表的  就是链子嘛 首尾相连

struct honor
{
    int x;
    honor *next;
}
lingjian[100];
//链表肯定不能只有一个零件;
int main()
{  
   int n;
   cin>>n;
   for(int i=0;i<n;i++)
   {
       cin>>lingjian[i].x;
       lingjian[i].next=&lingjian[i+1].next;
   }
   lingjian[i-1]=0; // 总要有个能判定的条件结束;
   honor *p,*head;
   head=lingjian;
   p=honor;
do
{
   cout<<p->x<<endl;
   p=p->next;
   }while(p!=0);
   //大致的意思就是 链起来  做一个结尾的指针与下一次的开头相连; 

这是个 易理解的代码

#include <iostream>
using namespace std;
int main()
{
    int n;
    void print(int );
    while(cin>>n)
    {
        print(n);
    }
    return 0;
}
void print(int x)
{
    int b;
    for(int i=0;i<x;i++)
    {
        cin>>b;
        cout<<b<<'z';
    }
    cout<<endl;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值