在浙大OJ系统提交1978题代码一直出现Segmentation Fault!!!!!!! 10C

在Linux环境里编译运行都成功。但是在ACM平台上提交代码时就一直出现Segmentation Fault 错误。自己的代码看了很久都没发现错误,运行又都是正确的。好烦躁。ACM所用的编译器时C(gcc 4.7.2)
题号1978。。有哪位大侠有时间可以修改然后拿去试试能不能AC。跪谢。。
#include
#include
typedef struct List{ //构造链表,代表参赛者的队列。
int i;
struct List *next;
}List;
void Select(List *head,int *nNumber);
int main(void)
{
int nNumber[1000];
int i=0,j,w;
List *q,*p;
List head;
q=(List *)malloc(sizeof(List));
head.next=q;
q->i=2;
printf("Sample Input\n");
do{
printf("请输入第%d个n值:",i+1);
scanf("%d",&nNumber[i]);
i++;
}while(nNumber[i-1]!=0);
for(j=3;j {
p=(List *)malloc(sizeof(List));
p->i=j;
q->next=p;
p->next=NULL;
q=p;
}
Select(&head,nNumber);//调用Select函数,返回只有幸运参赛者存在的链表
q=head.next;
for(j=0;j {
for(w=1;w {
q=q->next;
}
printf("%d\n",q->i);
q=head.next;
}
}
void Select(List *head,int *nNumber)//通过遍历链表,删除所有的需要打工的参赛者结点。
{
int i=0,max=nNumber[i],j;
List *q,*p,*q1;
p=head->next;
while(nNumber[i]!=0){
if(max max=nNumber[i];
i++;
}
for(j=0;j {
q=p;
while(q->next!=NULL)//开始循环删除
{
for(i=1;ii;i++)
{
if(q->next!=NULL)
q=q->next;
else break;
}
if(q->next==NULL)
break;
q1=q->next;
q->next=q1->next;
free(q1);
}
p=p->next;
}
}

2个回答

Segmentation Fault
说明你访问到了未分配的空间
可能你数组开小了
或者你访问到了已经被释放的空间了

对了,可以告诉你个技巧,你链表不需要自己写的
c++的stl库提供了List类,你可以直接用,用法可以去百度~

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
在VS上运行没有问题,但提交oj出现段错误,在VS上该如何调试?
在VS上运行没有问题,但提交oj出现段错误,在VS上该如何调试?
代码在VC上运行正常,在OJ上运行失败
1.问题描述: 在一个暴风雨的夜晚,农民约翰的牛棚的屋顶、门被吹飞了。 好在许多牛正在度假,所以牛棚(牛棚的总数S:1<= S<=200)没有住满。 剩下的牛一个紧挨着另一个被排成一行安置在有屋顶的牛棚来过夜。 所以有些牛棚里有牛,有些没有。 所有的牛棚有相同的宽度,且宽度设为1。 因为有些门遗失,农民约翰需要架起新的木板作为门。 他的新木材供应者将会供应他任何他想要的长度,但是供应者只能提供有限数目的木板。 农民约翰想将他购买的木板总长度减到最少。 计算拦住所有有牛的牛棚所需木板的最小总长度。 输出所需木板的最小总长度作为的答案。 说明:拦住一个牛棚需要的木板长度为1,拦住相邻的三个牛棚则需要木板长度为3。 比如有牛的牛棚编号为: 3 5 8 10 11 并且只能使用两块木板, 则第一块木板从3到5,长度为3, 第二块木板从8到11,长度为4, 因此,需要木板的总长度为7。 2.输入说明: 第 1 行: M 和 C(用空格分开) 第 2 到 C+1行: 每行包含一个整数,表示牛所占的牛棚的编号。 其中: 可能买到的木板最大的数目:M(1<= M<=50); 需要安置的牛的数目C(1<= C <=S) 安置后牛所在的牛棚的编号stall_number(1<= stall_number <= S)。 3.自编代码 ``` int main(){ int m,c,t,n,min; int i,j,k=0; int s[201],a[120]; scanf("%d%d",&m,&c); for(i=0;i<=200;i++){ s[i]=0; } for(i=0;i<c;i++){ scanf("%d",&n); s[n]=1; } for(i=1;s[i]==0;i++); for(t=200;s[t]==0;t--); min=t-i+1; while(i<=t){//找出i到t内所有没有牛的位置长度 j=0; if(s[i]==0){ while(s[i+j]==0){ j++; } a[k++]=j; } i=i+j+1; } for(i=0;i<k-1;i++){//对位置长度进行从大到小排序 for(j=0;j<k-i-1;j++){ if(a[j]<a[j+1]){ t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } } i=0; while(m>1 && i<k){ min=min-a[i]; m--; i++; } printf("%d\n",min); return 0; } ``` 4.运行结果: OJ上的结果: ![图片说明](https://img-ask.csdn.net/upload/202003/26/1585195124_271585.png) VC上的结果: ![图片说明](https://img-ask.csdn.net/upload/202003/26/1585195148_407920.png)
在OJ上程序提交出现RE错误,求解答
在oj上进行训练的时候,提交程序出现RE错误,不知道为何,由于代码篇幅较长,请各位大佬移步这里 [程序提交出现RE错误](http://blog.csdn.net/weixin_39684284/article/details/77197272 "")
oj的练习题:多输入输出练习1
请教大家一个问题: 题目是这样的: ![图片说明](https://img-ask.csdn.net/upload/202002/26/1582718661_948414.png) 我的代码是这样的: ``` #include<iostream> using namespace std; int main() { int i, j,a[3][10]; for (i = 0; i < 3; i++) { for (j = 0; ; j++) { cin >> a[i][j]; if (a[i][j] != 0) continue; else break; } } int max = 0; for (i = 0; i < 3; i++) { for (j = 0; j < 10; j++) { if (max >= a[i][j]) continue; else max = a[i][j]; if (a[i][j] != 0) continue; else break; } cout << max << endl; max = 0; } return 0; } ``` 在vs上运行成功,但是oj上显示“答案错误”,可以帮我看看是什么问题吗? and 可以告诉我一点oj的技巧就更好了,我经常在vs上运行成功,但是oj过不了。
zzuli oj 1164题 为什么我的这种写法会判题为 答案错误呢? 我明明可以输出正确答案,问题在哪?
``` #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char a[1000]; scanf("%s",&a); int i,k,l,len; scanf("%d",&k); len = strlen(a); l = k%26; for(i = 0; i<len; i++) { if(a[i] >= 'a' && a[i] <= 'z') { if(a[i] + l <= 'z') a[i] = a[i] + l ; else a[i] = (l - 26) + a[i]; } else if(a[i] >= 'A' && a[i] <= 'Z' ) { if (a[i] +l <= 'Z') a[i] = a[i] + l ; else a[i] = (l - 26) +a[i]; } } for(i=0;i<len;i++) printf("%c",a[i]); return 0; } ```
OJ上一道字母大小写转换的题
OJ上的一道题,题目是:cAPS lOCK ![图片说明](https://img-ask.csdn.net/upload/201507/19/1437277235_164047.png) 我写的代码链接:http://codepad.org/JrJrOGxQ 自己在编译器上编译时 没发现有什么错,但是在OJ上提交时出现:wrong answer on test 6 不知道哪里错了
请问一下这段代码提交到OJ平台为何报错RE?
纯小白,写代码不过几个月,不知道下面这段代码提交到OJ平台为何提示RE,有什么修改的措施吗? OJ平台的提示信息是:LinuxExecutorSeccomp.cpp(219): terminate signal: SIGSEGV 请问有什么办法补救吗?或者能否推荐一个好的编译平台以供自行检验错误呢?学校一直使用的是DEV-C++。 代码如下: ``` #include<stdio.h> #include<string.h> void compare(char a[],char b[]) { char t[1000]; memset(t,0,sizeof(t)); for(int i=0;i<1000;i++){ if(strcmp(a,b)<0){ strcpy(t,a); strcpy(a,b); strcpy(b,t); return; } } return; } int main(){ char a[1000][55],ch; int count[1000]={0}; int jj[1000]={0}; int n=0,m=0; memset(a,0,sizeof(a)); while((ch=getchar())!='\n'){ if(ch==' '){ m++; n=0; continue; } a[m][n++]=ch; } int i=0; for(i=0;i<=m;i++){ for(int j=0;j<=m-1;j++){ compare(a[j],a[j+1]); } } int e=1; for(i=0;i<=m;i++){ count[i]=1; for(int j=m;j>i;j--){ if(strcmp(a[i],a[j])==0){ count[i]++; } } } for(i=0;i<=m;i++){ for(int j=m;j>i;j--){ if(strcmp(a[i],a[j])==0){ jj[e++]=j; } } } int t=m+1; while(t>0){ t--; while(t>0&& a[t]==0)t--; int h=1; while(h<=e){ while(t>0&& t==jj[h]){ t--; h=0; } h++; } printf("%s %d\n",a[t],count[t]); } return 0; } ```
杭电OJ2044小蜜蜂问题,萌新请教为啥一直报WA?
一只小蜜蜂… Problem Description 有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行。请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数。 其中,蜂房的结构如下所示。 Input 输入数据的第一行是一个整数N,表示测试实例的个数,然后是N 行数据,每行包含两个整数a和b(0<a<b<50)。 Output 对于每个测试实例,请输出蜜蜂从蜂房a爬到蜂房b的可能路线数,每个实例的输出占一行。 Sample Input 2 1 2 3 6 Sample Output 1 3 下面的是我的代码,一直在报错……怎么试都不知道哪里错的,哭了 ``` #include<stdio.h> int main(){ int i,j,num,a,b; long long int cnt[50]={0,1,2}; for(i=3;i<=50;i++) cnt[i]=cnt[i-1]+cnt[i-2]; scanf("%d",&num); while(num--){ scanf("%d%d",&a,&b); printf("%lld\n",cnt[b-a]); } return 0; } ``` 555谢谢大佬们了
在oj系统中提交老是出现Runtime Error,怎么修改也不行,求指点
**__Description__** 给定两个字符串,将它们连接起来。不得使用strcat函数。 **Input** 测试数据有多组,第一行的正整数T表示测试数据的组数。每组有两个字符串,分别占两行,每个字符串不超过100个字符。 **Output** 对于每组测试数据,输出连接后的字符串,单独占一行。 **__Sample Input__** 2 abc 1234 xy oop **Sample Output** abc1234 xyoop ``` #include<stdio.h> #define M 100 int main() { char a1[M],a2[M]; int t,i1; scanf("%d",&t); for(i1=0;i1<t;i1++) { getchar(); int j=0; a1[j]=getchar(); while(a1[j]!='\n') { j++; a1[j]=getchar(); } static int i=0; a2[i]=getchar(); while((a1[j]=a2[i])!='\n') { i++,j++; a2[i]=getchar(); } a1[j]='\0'; for(j=0;a1[j]!='\0';j++) printf("%c",a1[j]); } return 0; } ```
C建立二叉搜索树出现段错误
题目链接:https://pintia.cn/problem-sets/1211841066264109056/problems/1236509430527590400 判断是不是同一棵二叉搜索树 写的代码如下:(在自己编译器上可以通过,但是在OJ上显示段错误,希望大佬指点一下) ``` #include<stdio.h> #include<malloc.h> typedef struct BINODE{ int value; struct BINODE *lchild,*rchild; }BiTNode,*BiTree; int flag=1; //建立二叉搜索树 BiTNode *BuildBiTree(BiTree &T,int n,int a[]){ int i,j; T=(BiTNode *)malloc(sizeof(BiTNode)); T->value=a[0]; BiTree p=T,q,pre; p->lchild=NULL; p->rchild=NULL; for(i=1,j=1;j<n;i++){ q=(BiTNode *)malloc(sizeof(BiTNode)); q->value=a[j]; pre=p; if(a[j]<=p->value){ p=p->lchild; if(p==NULL){ pre->lchild=q; j++; q->lchild=NULL; q->rchild=NULL; p=T; } } else{ p=p->rchild; if(p==NULL){ pre->rchild=q; j++; q->lchild=NULL; q->rchild=NULL; p=T; } } } } //两棵树同时遍历进行判断 void InOrder(BiTree T,BiTree TT){ if(T && TT){ InOrder(T->lchild,TT->lchild); if(T->value!=TT->value) flag=0; InOrder(T->rchild,TT->rchild); } } int main(){ int n=-1,k,i; int a[15]; int b[15]; while(n!=0){ BiTree T=NULL,TT=NULL; scanf("%d",&n); if(n!=0){ scanf("%d",&k); for(i=0;i<n;i++){ scanf("%d",&a[i]); } BuildBiTree(T,n,a); while(k--){ flag=1; for(i=0;i<n;i++){ scanf("%d",&b[i]); } BuildBiTree(TT,n,b); InOrder(T,TT); if(flag==1) printf("Yes\n"); else printf("No\n"); } } } return 0; } ``` 自己摸索很久了,发现不了问题,如果能解决,感激不尽!!
请问这个代码为什么oj上tuntime error了呀,小白求解?
![图片说明](https://img-ask.csdn.net/upload/202002/11/1581411651_49287.png) #include <iostream> using namespace std; int a[101]={0}; int main() { int n,i,j; cin>>n; for(i=2;i<=n;i++) for(j=1;j<=n;j++) { if(a[j]==0) { if(j==i||j%i==0)a[j]=1; } else { if(j==i||j%i==0)a[j]=0; } } for(i=1;i<=n;i++) if(a[i])cout<<i<<" "; return 0; }
c++ oj 题目,求大神帮忙
19:字符串移位包含问题 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 对于一个字符串来说,定义一次循环移位操作为:将字符串的第一个字符移动到末尾形成新的字符串。 给定两个字符串s1和s2,要求判定其中一个字符串是否是另一字符串通过若干次循环移位后的新字符串的子串。例如CDAA是由AABCD两次移位后产生的新串BCDAA的子串,而ABCD与ACBD则不能通过多次移位来得到其中一个字符串是新串的子串。 输入 一行,包含两个字符串,中间由单个空格隔开。字符串只包含字母和数字,长度不超过30。 输出 如果一个字符串是另一字符串通过若干次循环移位产生的新串的子串,则输出true,否则输出false。 样例输入 AABCD CDAA 样例输出 true 我的代码: ``` #include<bits/stdc++.h> using namespace std; int main() { char c[1001],s[1001]; cin>>s; cin>>c; if(strlen(s)<strlen(c)) swap(s,c); strcat(s,s); if(strstr(s,c)==0) cout<<"false"; else cout<<"true"; return 0; } ``` 本地运行是对的,一上oj就出现了Runtime error 啥原因。。
OJ数据结构 Vector 谢谢大家
题目描述 你有一个基于动态分配数组的顺序表。表中的元素均为非负整数,且按照非递减的顺序排列,即对于任何相邻的前后两个元素,靠前的元素都小于等于靠后的元素。 动态分配数组的规则如下: 初始时,表中元素个数为 0,数组的容量为 2。 每当在表已满(元素个数等于数组容量)的情况下尝试插入新的元素,则将动态分配的数组容量扩容为原来的 2 倍。此次插入操作造成的表中已有元素移动的次数等于此操作发生之前表中元素的个数(也即扩容前的数组的容量)。 每当在删除元素的操作之前,如果表中的元素个数小于等于数组容量的四分之一,则将动态分配的数组容量缩减为原来的一半。此次删除操作造成的表中已有元素移动的次数等于此操作发生之前表中元素的个数减 1(因为要删除的元素不需要被移动)。 如果某次插入或删除操作没有引起数组容量的变化,则: 对于插入元素的操作,此次操作造成的表中已有元素移动的次数等于插入的位置之后原有元素的个数。如果表中有相同元素导致可插入的位置不唯一,则选择最靠后的位置插入,以便减小表中已有元素移动的次数。 对于删除元素的操作,此次操作造成的表中已有元素移动的次数等于被删除的元素之后原有元素的个数。同样地,如果表中有多个相同的元素,则选择最靠后的元素删除,以便减小表中已有元素移动的次数。 现在,给出一系列的操作,每个操作可以是插入一个元素或删除一个元素(保证要删除的元素一定存在),请你输出每次操作造成的表中已有元素移动的次数。 输入格式 从标准输入读入数据。 第一行输入操作的总次数 n。 接下来 n 行,每行输入一个操作。操作的格式可能是: A x 表示,在表中插入了一个值为 x 的元素; D x 表示,在表中删除了一个值为 x 的元素。 输入的所有元素都在 unsigned int 范围内,即 0≤x<232。 输出格式 输出到标准输出。 对于每次操作,输出一行。每行仅包含一个整数,表示此次操作造成的表中已有元素移动的次数。 样例1输入 9 A 10 A 20 A 10 A 10 D 10 D 20 D 10 D 10 A 0 样例1输出 0 0 2 1 1 0 0 0 0 样例1解释 第 3 次操作导致数组容量从 2 变为 4,造成了 2 次表中已有元素移动; 第 4 次操作造成了元素 20 的 1 次表中已有元素移动; 第 5 次操作造成了元素 20 的 1 次表中已有元素移动; 第 8 次操作导致数组容量从 4 变为 2,但是没有发生表中已有元素移动。 样例2输入 17 A 1 A 2 A 3 A 4 A 5 A 6 A 7 A 8 A 9 D 9 D 8 D 7 D 6 D 5 D 4 D 3 D 2 样例2输出 0 0 2 0 4 0 0 0 8 0 0 0 0 0 3 0 1 子任务 在所有的数据中,操作次数 n≤10000。 对于前 20% 的数据,输入中仅包含插入操作,且每次插入的元素是递增的。 对于前 60% 的数据,输入中仅包含插入操作。 (有兴趣的同学,可以思考 n 如果在 106 左右的规模,此题该怎么做?) 提示 你可以按照题意实现一个符合要求的顺序表,也可以采用其他方式,只要能够正确输出答案即可。
接入支付宝授权登录,报系统异常,请稍后再试(resultcode:4000).
![图片说明](https://img-ask.csdn.net/upload/202002/18/1581996119_905390.jpg) 如图中所示,跳转至支付宝之后显示系统异常,捕捉回调的时候resultcode是4000, memo是:系统异常请稍后再试,用于授权的信息如下: apiname=com.alipay.account.auth&app_id=2019052965369662&app_name=mc&auth_type=AUTHACCOUNT&biz_type=openservice&method=alipay.open.auth.sdk.code.get&pid=2088531207634483&product_id=APP_FAST_LOGIN&scope=kuaijie&sign_type=RSA2&target_id=52201d6f-69e0-48ac-9122-554c04b60884&sign=XEsNCoq5LQGPup4TIdkUFp9hfQ8GI8waJZqVcwcXCs3qS6hP/nFKsi1rqMKMVVH37x8cxQVBnVeywJDEJX4XIIDW4gCZzpFqH/0mmD9ihYunsNi/sYvyt3CYRxLLKct2qWYVh3cxNbC4l/f0FykNrS7uNe+Z+1lMc8Cg8T3wSm6OJ1R2XVKLDTMVFz+2IyoAdLY7AQI8AEw4k6iOuvswXfY3RoLB8fw2Z7s/xhIYtj1MWou4hkabcjATryGYVfk68yZExxeSjkKO/osUX8rZBNh88cbz6Plypki/avqOGM+8n6hNjeMtGQKaZ2UBrKE1zTuis5yV1GUC64nLhEQhcw== 已经在网上搜了一大圈了,从昨晚到现在一支没解决,有同学遇到过类似的问题吗? 谢谢!
OJ数据结构提问:棒棒糖
题目描述 乔乔有许多的棒棒糖,每一根棒棒糖都有一个唯一的编号,编号为 1 到 107 中的正整数。 乔乔有一个长长的架子,用来存放棒棒糖,棒棒糖可以插在架子上的任何位置。 乔乔每次会选择以下操作之一进行: 1、乔乔把一根全新的棒棒糖插到架子上,乔乔会指定架子上已有的一根棒棒糖,让你把它插在这根棒棒糖的右边,或让你把这根棒棒糖插到架子最左边。 2、乔乔从架子上拔下一根棒棒糖 3、乔乔想知道编号为x的棒棒糖在不在架子上 4、乔乔有时候会想知道,架子上有几根棒棒糖,她需要清点一下这些棒棒糖 5、乔乔想知道架子上依次都插了哪些棒棒糖,从左到右把棒棒糖的编号抄下来 6、乔乔想知道某一根棒棒糖的右边一根棒棒糖的编号(保证被指定的这根棒棒糖在架子上) 7、乔乔和她的好朋友一起把架子上所有的棒棒糖都吃掉 8、乔乔把架子旋转180度,架子上所有棒棒糖的左右顺序都被反转了 乔乔还要忙着去吃棒棒糖,这么简单的任务当然就交给你来完成啦! 输入格式 从标准输入读入数据。 第一行输入一个整数 m ,表示操作的总数。 接下来 m 行,每行若干个整数,表示一个操作。 每行第 1 个整数表示这次进行的是第几种操作,每种操作格式如下: 1 x y 将将编号为 x 的棒棒糖插到编号为 y 的棒棒糖的右边。特别地,如果 y=0 ,将 x 插到架子的最左边。 2 x 将编号为 x 的棒棒糖从架子上拔下。 3 x 乔乔想知道编号为 x 的棒棒糖在不在架子上,请你输出一个整数, 1 表示在,0 表示不在。 4 乔乔想知道架子上有几根棒棒糖,请你输出一个整数,表示架子上棒棒糖的数目。 5 乔乔想知道架子上有哪些棒棒糖,请你按照从左到右的顺序依次输出架子上所有的棒棒糖的编号,相邻两个数字之间用一个空格隔开。 6 x 乔乔想知道编号为 x 的棒棒糖右边的棒棒糖编号是多少,特别地 x=0 表示她想知道最左边的棒棒糖编号是多少。(如果 x 是最右边的棒棒糖,输出 0。) 7 乔乔和她的好朋友把架子上所有的棒棒糖都吃掉。 8 乔乔把架子旋转180度。 输出格式 输出到标准输出。 对于第3、4、5、6个操作,输出一行表示答案。 样例1输入 10 1 1 0 1 2 1 8 1 3 1 8 4 6 1 8 6 1 5 样例1输出 3 2 3 2 1 3 subtask 对于 60% 的数据,不包含操作8; 对于 100% 的数据,m≤106 , 棒棒糖的编号在 107 以内。 在所有数据中均匀分布着一半的数据,满足 m≤1000。 操作 5 的次数不超过 10 。 提示 允许并鼓励使用标准库中的相关内容(如std::list)。
为什么这道题根据程序,样例可以正确输出,却不能在OJ上AC?是我的代码出问题了吗?
题目描述如下: ![图片说明](https://img-ask.csdn.net/upload/201912/28/1577529512_755416.png) ![图片说明](https://img-ask.csdn.net/upload/201912/28/1577529527_134470.png) 我的代码如下: ``` #include<stdio.h> int main() { int n,fin1,fin2; long a1=1,a2=1; char cx1,cx2; scanf("%d",&n); fflush(stdin); while((cx1=getchar())!='\n') { a1=a1*(cx1-64) /*计算出第一行的字母所代表的编号的乘积*/ } while((cx2=getchar())!='\n') { a2=a2*(cx2-64);/*计算出第二行的字母所代表的编号的乘积*/ } fin1=a1%n; /*用第一行的乘积取模*/ fin2=a2%n; /*用第二行的乘积取模*/ if(fin1==fin2) { printf("Attack!\n"); } else { printf("Stay\n"); } return 0; } ``` 自己测试了几组数据,都没有问题的,可是AC不了。来向各位大佬求助!
这个程序我自己在编译器上通过了,但是OJ上一直runtime error。各位大神可否帮我看看代码有什么问题吗?
这个程序我自己在编译器上通过了,但是OJ上一直runtime error。各位大神可否帮我看看代码有什么问题吗? #include <stdio.h> #include <string.h> #include <stdlib.h> #define MAX 1000 //对字符串进行拆分 void split(char shou[MAX],char flag[26][MAX][20],int num[26]){ //遍历整个数组 int i = 0; for(i = 0;i < 26;i++){ num[i] = 0; } char *p; char *q; p = q = shou;//初始化指针,使其指向shou的头部 while(*p){ if((*p >= 'a'&&*p <= 'z')||(*p >= 'A'&&*p <= 'Z')){ q = p; while((*p >= 'a'&&*p <= 'z')||(*p >= 'A'&&*p <= 'Z')){ if(*p >= 'A'&&*p <= 'Z'){ *p += 32; } p++; } int x = *q - 97;//得到应该储存的flag中的位置 strncpy(flag[x][num[x]],q,p-q);//实现复制操作 num[x] += 1; }else{ p++; } } } int comp(const void *a,const void *b) { // return *(char **)a - *(char **)b; return strcmp((char *)a,(char *)b) ; //字典序从小到大 } int main(){ //先想办法读入数组 char flag[26][MAX][20];//用flag做标志,省去排序的步骤 char shou[MAX]; int num[26];//用于储存每一个单词表里面存储的单词的数量 // gets(shou);//先将字符串读进来 //怎么把gets做一个替换 int m = 0; char ch; while((ch = getchar()) != EOF){ shou[m] = ch; m++; } split(shou,flag,num); int i,j,k; int count = 0; //找出其中num[i]不为零的总数量 for(i = 0;i < 26;i++){ if(num[i] != 0) count++; } for(i = 0;i < 26;i++){ if(num[i] != 0){ qsort(flag[i],num[i],sizeof(flag[i][0]),comp); //利用qsort函数进行快排 count--; printf("%c:",i + 65); for(j = 0;j < num[i];j++){ if(strcmp(flag[i][j+1],flag[i][j]) != 0){ printf(" %s",flag[i][j]); } } if(count!=0) printf("\n"); } } return 0; } 就是一个文本索引的题目,要求按字典排序,然后对于空格和换行有点特殊要求。
杭电oj第一题居然一直过不了
#include "stdio.h" int main() { int a,b; scanf("%d%d",&a,&b); printf("%d\n",a+b); return 0; } 运行不是好好的吗,怎么总是过不了
杭电oj 2014题 代码不对 不知道哪里错了
偶数求和 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 65195 Accepted Submission(s): 27929 Problem Description 有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数,现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值序列。 Input 输入数据有多组,每组占一行,包含两个正整数n和m,n和m的含义如上所述。 Output 对于每组输入数据,输出一个平均值序列,每组输出占一行。 Sample Input 3 2 4 2 Sample Output 3 6 3 7 我的代码 #include "stdio.h" int main() { int n,m,sum=0,i,j=0; while( scanf("%d%d",&n,&m)!=EOF ) { for( i=1; i<=n; i++ ) { j++; sum=sum+i; if( j%m==0 ) { printf("%d ",sum); sum=0; } } printf("%d\n",sum); } }
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
卸载 x 雷某度!GitHub 标星 1.5w+,从此我只用这款全能高速下载工具!
作者 | Rocky0429 来源 | Python空间 大家好,我是 Rocky0429,一个喜欢在网上收集各种资源的蒟蒻… 网上资源眼花缭乱,下载的方式也同样千奇百怪,比如 BT 下载,磁力链接,网盘资源等等等等,下个资源可真不容易,不一样的方式要用不同的下载软件,因此某比较有名的 x 雷和某度网盘成了我经常使用的工具。 作为一个没有钱的穷鬼,某度网盘几十 kb 的下载速度让我...
2019年还剩1天,我从外包公司离职了
这日子过的可真快啊,2019年还剩1天,外包公司干了不到3个月,我离职了
《面试宝典》2019年springmvc面试高频题(java)
前言 2019即将过去,伴随我们即将迎来的又是新的一年,过完春节,马上又要迎来新的金三银四面试季。那么,作为程序猿的你,是否真的有所准备的呢,亦或是安于本职工作,继续做好手头上的事情。 当然,不论选择如何,假如你真的准备在之后的金三银四跳槽的话,那么作为一个Java工程师,就不可不看了。如何在几个月的时间里,快速的为即将到来的面试进行充分的准备呢? 1、什么是Spring MVC ?简单...
计算机网络的核心概念
这是《计算机网络》系列文章的第二篇文章 我们第一篇文章讲述了计算机网络的基本概念,互联网的基本名词,什么是协议以及几种接入网以及网络传输的物理媒体,那么本篇文章我们来探讨一下网络核心、交换网络、时延、丢包、吞吐量以及计算机网络的协议层次和网络攻击。 网络核心 网络的核心是由因特网端系统和链路构成的网状网络,下面这幅图正确的表达了这一点 那么在不同的 ISP 和本地以及家庭网络是如何交换信息的呢?...
python自动下载图片
近日闲来无事,总有一种无形的力量萦绕在朕身边,让朕精神涣散,昏昏欲睡。 可是,像朕这么有职业操守的社畜怎么能在上班期间睡瞌睡呢,我不禁陷入了沉思。。。。 突然旁边的IOS同事问:‘嘿,兄弟,我发现一个网站的图片很有意思啊,能不能帮我保存下来提升我的开发灵感?’ 作为一个坚强的社畜怎么能说自己不行呢,当时朕就不假思索的答应:‘oh, It’s simple. Wait for me a few
一名大专同学的四个问题
【前言】   收到一封来信,赶上各种事情拖了几日,利用今天要放下工作的时机,做个回复。   2020年到了,就以这一封信,作为开年标志吧。 【正文】   您好,我是一名现在有很多困惑的大二学生。有一些问题想要向您请教。   先说一下我的基本情况,高考失利,不想复读,来到广州一所大专读计算机应用技术专业。学校是偏艺术类的,计算机专业没有实验室更不用说工作室了。而且学校的学风也不好。但我很想在计算机领...
复习一周,京东+百度一面,不小心都拿了Offer
京东和百度一面都问了啥,面试官百般刁难,可惜我全会。
20道你必须要背会的微服务面试题,面试一定会被问到
写在前面: 在学习springcloud之前大家一定要先了解下,常见的面试题有那块,然后我们带着问题去学习这个微服务技术,那么就会更加理解springcloud技术。如果你已经学了springcloud,那么在准备面试的时候,一定要看看看这些面试题。 文章目录1、什么是微服务?2、微服务之间是如何通讯的?3、springcloud 与dubbo有哪些区别?4、请谈谈对SpringBoot 和S...
Java 14 都快来了,为什么还有这么多人固守Java 8?
从Java 9开始,Java版本的发布就让人眼花缭乱了。每隔6个月,都会冒出一个新版本出来,Java 10 , Java 11, Java 12, Java 13, 到2020年3月份,...
轻松搭建基于 SpringBoot + Vue 的 Web 商城应用
首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。Fun: Fun 是一个用于支持 Serverless 应用部署的工具,能帮助您便捷地管理函数计算、API ...
Python+OpenCV实时图像处理
目录 1、导入库文件 2、设计GUI 3、调用摄像头 4、实时图像处理 4.1、阈值二值化 4.2、边缘检测 4.3、轮廓检测 4.4、高斯滤波 4.5、色彩转换 4.6、调节对比度 5、退出系统 初学OpenCV图像处理的小伙伴肯定对什么高斯函数、滤波处理、阈值二值化等特性非常头疼,这里给各位分享一个小项目,可通过摄像头实时动态查看各类图像处理的特点,也可对各位调参、测试...
2020年一线城市程序员工资大调查
人才需求 一线城市共发布岗位38115个,招聘120827人。 其中 beijing 22805 guangzhou 25081 shanghai 39614 shenzhen 33327 工资分布 2020年中国一线城市程序员的平均工资为16285元,工资中位数为14583元,其中95%的人的工资位于5000到20000元之间。 和往年数据比较: yea...
为什么猝死的都是程序员,基本上不见产品经理猝死呢?
相信大家时不时听到程序员猝死的消息,但是基本上听不到产品经理猝死的消息,这是为什么呢? 我们先百度搜一下:程序员猝死,出现将近700多万条搜索结果: 搜索一下:产品经理猝死,只有400万条的搜索结果,从搜索结果数量上来看,程序员猝死的搜索结果就比产品经理猝死的搜索结果高了一倍,而且从下图可以看到,首页里面的五条搜索结果,其实只有两条才是符合条件。 所以程序员猝死的概率真的比产品经理大,并不是错...
害怕面试被问HashMap?这一篇就搞定了!
声明:本文以jdk1.8为主! 搞定HashMap 作为一个Java从业者,面试的时候肯定会被问到过HashMap,因为对于HashMap来说,可以说是Java集合中的精髓了,如果你觉得自己对它掌握的还不够好,我想今天这篇文章会非常适合你,至少,看了今天这篇文章,以后不怕面试被问HashMap了 其实在我学习HashMap的过程中,我个人觉得HashMap还是挺复杂的,如果真的想把它搞得明明白...
毕业5年,我问遍了身边的大佬,总结了他们的学习方法
我问了身边10个大佬,总结了他们的学习方法,原来成功都是有迹可循的。
python爬取百部电影数据,我分析出了一个残酷的真相
2019年就这么匆匆过去了,就在前几天国家电影局发布了2019年中国电影市场数据,数据显示去年总票房为642.66亿元,同比增长5.4%;国产电影总票房411.75亿元,同比增长8.65%,市场占比 64.07%;城市院线观影人次17.27亿,同比增长0.64%。 看上去似乎是一片大好对不对?不过作为一名严谨求实的数据分析师,我从官方数据中看出了一点端倪:国产票房增幅都已经高达8.65%了,为什...
推荐10个堪称神器的学习网站
每天都会收到很多读者的私信,问我:“二哥,有什么推荐的学习网站吗?最近很浮躁,手头的一些网站都看烦了,想看看二哥这里有什么新鲜货。” 今天一早做了个恶梦,梦到被老板辞退了。虽然说在我们公司,只有我辞退老板的份,没有老板辞退我这一说,但是还是被吓得 4 点多都起来了。(主要是因为我掌握着公司所有的核心源码,哈哈哈) 既然 4 点多起来,就得好好利用起来。于是我就挑选了 10 个堪称神器的学习网站,推...
这些软件太强了,Windows必装!尤其程序员!
Windows可谓是大多数人的生产力工具,集娱乐办公于一体,虽然在程序员这个群体中都说苹果是信仰,但是大部分不都是从Windows过来的,而且现在依然有很多的程序员用Windows。 所以,今天我就把我私藏的Windows必装的软件分享给大家,如果有一个你没有用过甚至没有听过,那你就赚了????,这可都是提升你幸福感的高效率生产力工具哦! 走起!???? NO、1 ScreenToGif 屏幕,摄像头和白板...
阿里面试一个ArrayList我都能跟面试官扯半小时
我是真的没想到,面试官会这样问我ArrayList。
曾经优秀的人,怎么就突然不优秀了。
职场上有很多辛酸事,很多合伙人出局的故事,很多技术骨干被裁员的故事。说来模板都类似,曾经是名校毕业,曾经是优秀员工,曾经被领导表扬,曾经业绩突出,然而突然有一天,因为种种原因,被裁员了,...
大学四年因为知道了这32个网站,我成了别人眼中的大神!
依稀记得,毕业那天,我们导员发给我毕业证的时候对我说“你可是咱们系的风云人物啊”,哎呀,别提当时多开心啦????,嗯,我们导员是所有导员中最帅的一个,真的???? 不过,导员说的是实话,很多人都叫我大神的,为啥,因为我知道这32个网站啊,你说强不强????,这次是绝对的干货,看好啦,走起来! PS:每个网站都是学计算机混互联网必须知道的,真的牛杯,我就不过多介绍了,大家自行探索,觉得没用的,尽管留言吐槽吧???? 社...
2020年1月中国编程语言排行榜,python是2019增长最快编程语言
编程语言比例 排名 编程语言 最低工资 工资中位数 最低工资 最高工资 人头 人头百分比 1 rust 20713 17500 5042 46250 480 0.14% 2 typescript 18503 22500 6000 30000 1821 0.52% 3 lua 18150 17500 5250 35000 2956 0.84% 4 go 17989 16...
看完这篇HTTP,跟面试官扯皮就没问题了
我是一名程序员,我的主要编程语言是 Java,我更是一名 Web 开发人员,所以我必须要了解 HTTP,所以本篇文章就来带你从 HTTP 入门到进阶,看完让你有一种恍然大悟、醍醐灌顶的感觉。 最初在有网络之前,我们的电脑都是单机的,单机系统是孤立的,我还记得 05 年前那会儿家里有个电脑,想打电脑游戏还得两个人在一个电脑上玩儿,及其不方便。我就想为什么家里人不让上网,我的同学 xxx 家里有网,每...
史上最全的IDEA快捷键总结
现在Idea成了主流开发工具,这篇博客对其使用的快捷键做了总结,希望对大家的开发工作有所帮助。
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
谁是华为扫地僧?
是的,华为也有扫地僧!2020年2月11-12日,“养在深闺人不知”的华为2012实验室扫地僧们,将在华为开发者大会2020(Cloud)上,和大家见面。到时,你可以和扫地僧们,吃一个洋...
Idea 中最常用的10款插件(提高开发效率),一定要学会使用!
学习使用一些插件,可以提高开发效率。对于我们开发人员很有帮助。这篇博客介绍了开发中使用的插件。
AI 没让人类失业,搞 AI 的人先失业了
最近和几个 AI 领域的大佬闲聊 根据他们讲的消息和段子 改编出下面这个故事 如有雷同 都是巧合 1. 老王创业失败,被限制高消费 “这里写我跑路的消息实在太夸张了。” 王葱葱哼笑一下,把消息分享给群里。 阿杰也看了消息,笑了笑。在座几位也都笑了。 王葱葱是个有名的人物,21岁那年以全额奖学金进入 KMU 攻读人工智能博士,累计发表论文 40 余篇,个人技术博客更是成为深度学习领域内风向标。 ...
立即提问