简单的C语言找错

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单的C语言找错相关的知识,希望对你有一定的参考价值。

#include <stdio.h>
#define num 10
#define num2 5
#define num3 15
main()

int t,i,j,p,a[num]=3,8,11,6,5,4,9,12,7,23,b[num2]=24,1,77,10,31,c[num3]=0;
int q,w,e,x,y;
for(i=0;i<num-1;i++) //给第一个数组排序

p=i;
for(j=i+1;j<num;j++)
if(a[p]<a[j])p=j;
t=a[i],a[i]=a[p],a[p]=t;

for(i=0;i<num2-1;i++) //给第二个数组排序

p=i;
for(j=i+1;j<num2;j++)
if(b[p]<b[j])p=j;
t=b[i],b[i]=b[p],b[p]=t;


for(i=0,q=0,w=0;i<=15;i++)

if(w<=4)

if(a[q]>b[w])c[i]=a[q];q=q+1;
elsec[i]=b[w];w=w+1;

else

c[i]=a[q];
q=q+1;


printf("============\n");
for(j=0;j<10;j++)
printf("%4d\n",a[j]);

printf("============\n");
for(j=0;j<5;j++)
printf("%4d\n",b[j]);

printf("============\n");
for(j=0;j<15;j++)
printf("%4d\n",c[j]);

功能是给两个数组分别排序然后再按大小合并到另一个数组中.
输出结果的最后一个是有错的(第二个数组比第一个数组小的数都会输出错误)
最后应该是:
...
...
...
4
3
1
但现在是
4
3
3
...
...
...
4

#include<stdio.h>
void main()

void fun1();
int fun2(int a);
void fun3();
void fun4();
//fun1();
fun3();


void fun1()

double s=0;
int n;
int m=1;
printf("输入n的值:");
scanf("%d",&n);
for(int i=1;i<=n;i++)

m=m*i;
s=s+1.0/m;

printf("s=%f",s);


#define num 10
#define num2 5
#define num3 15
void fun3()

int t,i,j,p,a[num]=3,8,11,6,5,4,9,12,7,23,b[num2]=24,99,77,10,31,c[num3]=0;
int q,w,e,x,y;
for(i=0;i<num-1;i++) //给第一个数组排序

p=i;
for(j=i+1;j<num;j++)
if(a[p]<a[j])p=j;
t=a[i],a[i]=a[p],a[p]=t;

for(i=0;i<num2-1;i++) //给第二个数组排序

p=i;
for(j=i+1;j<num2;j++)
if(b[p]<b[j])p=j;
t=b[i],b[i]=b[p],b[p]=t;

printf("============\\n");
for(j=0;j<10;j++)
printf("%4d\\n",a[j]);

printf("============\\n");
for(j=0;j<5;j++)
printf("%4d\\n",b[j]);

for(i=0,q=0,w=0;i<15;i++)


if(a[q]>b[w])c[i]=a[q];q=q+1;
else if(w<=4)c[i]=b[w];w=w+1;
elsec[i]=a[q];q=q+1;


printf("============\\n");
for(j=0;j<15;j++)
printf("%4d\\n",c[j]);
参考技术A 看不懂 不过你把a和b两个数组放在一起 再排序一次 不就得到正确答案了。。。

以上是关于简单的C语言找错的主要内容,如果未能解决你的问题,请参考以下文章

c语言基础

跪求C语言程序代码“学生成绩管理”

最简单的C语言问题!!!!

简单C语言程序

c语言简单程序编写?

简单c语言问题