C语言程序,哪里错了,显示的是段错误,题目是01串排序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言程序,哪里错了,显示的是段错误,题目是01串排序相关的知识,希望对你有一定的参考价值。
将01串首先按长度排序,长度相同时,按1的个数从少到多进行排序,1的个数相同时再按ASCII码值排序。
#include<stdio.h>
#include<string.h>
void change(char *x,char *y)
int a,i;
char c;
a=strlen(x);
if (strlen(y)>a) a=strlen(y);
for(i=0;i<a;i++)
c=x[i];
x[i]=y[i];
y[i]=c;
main()
int b[100],i,j,k,c,t,h;
char a[100];
char *d[100];
d[k]=&a[k];
while(scanf("%c",&a[k])!=EOF)
b[k]=strlen(d[k]);
k=k+1;
for(i=1;i<=k-1;i++)
for(j=1;j<=k-i;j++)
if(b[j]>b[j+1])
change(d[j],d[j+1]);
t=b[j];
b[j]=b[j+1];
b[j+1]=t;
if(b[j]==b[j+1])
while(b[j]!=0)
h=h+1;
b[j]=b[j]&(b[j]-1);
while(b[j+1])
c=c+1;
b[j+1]=b[j+1]&(b[j+1]-1);
if(c>h)
t=b[j];
b[j]=b[j+1];
b[j+1]=t;
change(d[j],d[j+1]);
else if(c==h)
if(a[j+1]<a[j])
t=b[j];
b[j]=b[j+1];
b[j+1]=t;
change(d[j],d[j+1]);
for(i=1;i<=k;i++)
printf("%s\n",a[i]);
#include<stdio.h>
#include<string.h>
void change(char *x,char *y)
int a,i;
char c;
a=strlen(x);
if (strlen(y)>a) a=strlen(y);
for(i=0;i<a;i++)
c=x[i];
x[i]=y[i];
y[i]=c;
int main()
int b[100],i,j,k=1,c,t,h;
//char a[100];
char d[100][100];
while(k<100&&(scanf("%s",d[k])!=EOF))
b[k]=strlen(d[k]);
k=k+1;
for(i=1;i<=k-1;i++)
for(j=1;j<=k-i-1;j++)
if(b[j]>b[j+1])
change(d[j],d[j+1]);
t=b[j];
b[j]=b[j+1];
b[j+1]=t;
if(b[j]==b[j+1])
h=0;
t=0;
while(d[j][t]!=0)
if(d[j][t++]=='1')
h=h+1;
c=0;
t=0;
while(d[j+1][t]!=0)
if(d[j+1][t++]=='1')
c=c+1;
if(c<h)
t=b[j];
b[j]=b[j+1];
b[j+1]=t;
change(d[j],d[j+1]);
else if(c==h)
if(strcmp(d[j+1],d[j])<0)
t=b[j];
b[j]=b[j+1];
b[j+1]=t;
change(d[j],d[j+1]);
for(i=1;i<k;i++)
printf("%s\n",d[i]);
return 0;
本回答被提问者采纳
一个servlet问题?运行之后,提示404错误,请问哪里错了??
通过jsp页面提交表单到servlet中,处理完之后(将表单信息添加到数据库),跳转到显示信息页面,
web.web配置如下:
<servlet>
<description></description>
<display-name>addVendorServlet</display-name>
<servlet-name>addVendorServlet</servlet-name>
<servlet-class>myservlet.addVendorServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>addVendorServlet</servlet-name>
<url-pattern>/myservlet/addVendorServlet</url-pattern>
</servlet-mapping>
表单 action ="/myservlet/addVendorServlet"
addVendorServlet.java代码:
package myservlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import bean.Vendor;
import dao.VendorDAO;
public class addVendorServlet extends HttpServlet
/**
* 添加新的供应商;
* @author Administrator
*
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
System.out.println("hello");
String vname = request.getParameter("gongying");
String city =request.getParameter("chengshi");
String address = request.getParameter("dizhi");
String postcode = request.getParameter("youbian");
String phone = request.getParameter("dianhua");
String linkman = request.getParameter("lianxiren");
String status = request.getParameter("status");
Vendor vendor= new Vendor(vname,city,address,postcode,phone,linkman,status);
VendorDAO vendorDao = new VendorDAO();
boolean flag = vendorDao.addVendor(vendor);
if(flag)
request.setAttribute("vname",vname);
request.setAttribute("city",city);
request.setAttribute("address",address);
request.setAttribute("postcode",postcode);
request.setAttribute("phone",phone);
request.setAttribute("linkman",linkman);
request.setAttribute("status",status);
response.sendRedirect("/getVendor.jsp");
else
response.sendRedirect("/um/404.html");
显示页面getVendor.jsp
未找到该网页,说明此网页已经在服务器被删除或被改名。在安全助手里添加黑名单,把这个网站的网址输入进去。不让他弹出。
404是对NOT FOUND这种错误情况的一个编码,HTTP协议的错误信息在不同软件、不同的语言描述可能不同,但是其代码是统一的,以便浏览器能够正确识别和处理。 参考技术A action="addVendorServlet"
而不是像你写的那样,你配servle的时候,配置了一个name,下边配了一个mapping指定这个servlet的具体指向,调用的时候,直接调用这个name名字就可以,如果还是调用不来,查看你的servletmapping指向问题追问
我运行的时候,url可以跳转到addVendorSrevlet,是servlet代码有错,还是web.xml配置错了?
这个是目录结构
你现在可以跳到servlet,并且servlet 中的程序己经执行,那里配置文件是没有错误,查看一下你的servlet,看一下哪里出错
本回答被提问者和网友采纳 参考技术B boolean flag = vendorDao.addVendor(vendor);追问什么意思??这句错了么???
参考技术C action 中指定result 了?追问你是问这个么?action ="/myservlet/addVendorServlet"
追答在struts.xml中
/xxx /xxx.jsp
...
以上是关于C语言程序,哪里错了,显示的是段错误,题目是01串排序的主要内容,如果未能解决你的问题,请参考以下文章
我写了一个C语言程序。但输出结果为一串乱码。不知道是哪里错误了
keil编程中为啥总说我变量未定义? 不只是keil,C语言也经常有这种情况。根本不知道哪里错了
用devcpp软件C语言程序编写一行输出30个'*',不知哪里错了
c语言冒泡排序法代码一直排序错误,有时只能排前两个,不明白原因,请问究竟哪里写错了,谢谢!