#include "stdio.h"
#include "stdlib.h"
#define MAXSIZE 50
typedef struct
{ int data[MAXSIZE];
int last;
}sequenlist;
void creat(sequenlist *L)
{
int a,b;
printf("输入A表元素的个数:\t");
scanf("%d",&a);
for(int i=1;i<=a;i++)
{
printf("请输入第%d个元素\t",i);
scanf("%d",&(L->data[i])); }
printf("输入B表元素的个数:\t");
scanf("%d",&b);
i=a+1;
for(int j=1;i<=a+b;i++,j++)
{
printf("请输入第%d个元素\t",j);
scanf("%d",&(L->data[i]));
L->last=a+b;
}
}
void merge(sequenlist *L)
{int i,j,k;
i=1;
while(i<=L->last)
{j=i+1;
while(j<=L->last)
if(L->data[j]==L->data[i])
{for(k=j+1;k<=L->last;k++)
L->data[k-1]=L->data[k];
L->last=L->last-1;
}
else
j++;
i++;
}
}
void maop(sequenlist *L)
{
int k=1;
for(int i=1;i<L->last;i++)
for(int j=1;i<L->last-i;j++)
if(L->data[j]>L->data[j+1]){
k=L->data[j];
L->data[j]=L->data[j+1];
L->data[j+1]=k;
}
}
void main()
{
sequenlist *C;
C=(sequenlist *)malloc(sizeof(sequenlist));
creat(C);
merge(C);
maop(C);
printf("合并的元素为:\n");
for(int d=1;d<=C->last;d++)
printf("%d\t",C->data[d]);
printf("\n");
}
我想写个A和B顺序表的合并,删除相同元素,然后冒泡排序,分出大小。写的没出现错误,但是没办法输出最后合并的元素。错在哪,怎么改???
要是把冒泡排序删除就可以输出结果了。可是我就是不懂错在哪
冒泡排序你少了一对括号。好的排版可以减少这种错误的发生。还有一个小建议就是写循环之类从0开始,比如for(i=0;i<a;i++)
大神,就QQ
大神,就QQ
追答我也不是大神了...比大神差太多了
QQ刚才私信发了,现在QQ上的不多,邮箱用的多一些
qinmo0525@qq.com
大神,那怎么改?
C语言高手来一下帮我编个小程序
首先,我可以用字符串来做。我现在先把代码贴上:include <stdio.h> int main(){ char *str , *ch , *c[] = {"个位为:" , "十位为:" , "百位为:" , "千位为:" , "万位为:"};scanf("%s",str);int i = 0 ;\/\/要求1.求出它是几位数 printf("此数为%d位数\\n",(sizeo...
大家帮我看看这个C语言小程序哪个地方出现了死循环
死循环再 while(sum!=1)猜想你的程序是解决绕圈报数问题,m个人每报n个数出来一个人,求最后出来的人。你的程序使用链表,并且用一个标志位来表示人(或猴)在不在队列里。有这样几个问题:1。如果你用链表,没有必要用标志为。因为链表的优势是插入,删除方便,用了标志位,链表的结构没有变化,...
c语言小程序例题, 大师看看。怎么办?
1.5 大写转小写:输入一个大写英文字母,输出相应的小写字母。实验二 分支结构 2.1 显示成绩:输入学生的数学成绩,若低于60输出“Fail”,否则输出“Pass”。2.2 找最小值:输入四个整数,输出其中的最小值。2.3 求三角形:输入三角形的三条边,计算面积和周长(保留两位小数);若不构成三角形...
帮忙看一个c语言小程序
其实题主的程序输出的前 30 个数不是 0。但是因为题主的 while 语句没有停止条件,所以是一个无限循环,导致这部分不为零的结果马上就被一大堆 0 覆盖了。你的程序输出的实际结果为:这种结果的原因是,题主定义的 i 类型是 int。int 型在 C 语言中默认代表有符号整数(也就是说也可以表示负整...
我是c语言小白,问问大神帮我看看编写的简单程序这哪里出错了?_百度...
#include<stdio.h> 输入代码时忽视输入法隐藏的错误 表面上看都是一样的代码,但是第二行就有错误,是全角和半角的不同,再看:正确编译运行 所以你的代码没有任何问题,但是要注意代码输入的方法。以前回答了很多,有时间可以看看我最近回答c语言问题:网页链接 网页链接 网页链接 网页链接等等。
求c语言大佬帮助!帮我写个小程序,谢谢
int n);\/\/在屏幕上输出数组各元素的值(逗号分隔)#define N (10)int main(){ int a[N],b[N],c[N*2],i; srand(time(NULL)); Init(a,N); Print(a,N); Short(a,N); Print(a,N); Init(b,N); Print(b,N); Short(...
急急急,c语言问题,求高手帮我看看下面的程序,它要求是把10000以内的完 ...
int main(){ int i=2,m=2,k,sum=1,j=2;while (m<=100){ i=2; \/\/重设初始值 sum=1; \/\/重设初始值 while (i<m){ k=m%i;if (k==0) sum=sum+i;i=i+1;} if (sum-m==0) { \/\/判断为完全数并且输出的部分应该都在if语句内,用大括号 printf("%d its factors are ...
谁能用C语言帮我写几个小程序 急求
{ int max(int x,int y,int z);int a,b,c,d;scanf("%d%d%d",&a,&b,&c); \/\/scanf%d间不能有逗号,后面是输入的地址因此得加& d=max(a,b,c); \/\/输入的是abc,不是x,y,z\/\/x,y,z是形参a,b,c是实参 printf("max=%d",d);\/\/不是print是printf return 0;} int max(int ...
跪求C语言编程高手帮忙编个小程序,大一年级的
tot=a+b+c+d+e;printf("字符串中共有:%d字符\\n大写字母:%d个\\n小写字母:%d个\\n数字:%d个\\n空格:%d个\\n其他字符:%d\\n",tot,a,b,c,d,e);for(i=0;i<tot-1;i++){ iPos = i;for(j=i+1;j<tot;j++)if(ch[j]<ch[iPos])iPos=j;iTemp = ch[i];ch[i] = ch[...
c语言的一个小程序
{ int a[N];int i, j;\/\/将2到N-1间的数放在筛子中 i = 2;while(i<N){ a[i]=1;i++;} i = 2;int limit;limit = (int)sqrt((double)(N-1));\/\/计算除数的上限limit while(i<limit){ \/\/用i筛去筛子中i的倍数的数,不包括i本身 j = 2*i;while(j<N){ a[j] = 0;...