首页 > 电脑

设有一个按大小顺序排好的数列放在一维数组中现在要加一个数,仍按原来排列顺序输出

更新时间2021-05-28 01:16:54

求详细代码解答
#include<stdio.h>
#include<string.h>
int main()
{
char a[100],b[100],x;
int i ,j=0,n;
printf("Input :");
gets(a);
printf("add:");
scanf("%d",&x);
n=strlen(a);
for(i=0;i<n;i++)
{
if(x>a[i])
break;
}
a[n+1]='';
for(j=n;j>i;j--)
{
b[j]=b[j-1];
 
}
a[i]=x;
for (i=0;i<n+1;i++)
{
printf("%d ",a[i]);
return 0;}
 
}

你程序到底是要插入字符还是数值?

你的

char a[100],b[100],x;

都是字符型,而输入

scanf("%d",&x);

却是有符号整形的的,只是数值范围为(~-127-128)(这个是基础的基础了)

你的x怎么可能插入到一个char数组中?

给你个我做的简单插入数组参考

设有一个按大小顺序排好的数列放在一维数组中现在要加一个数,仍按原来排列顺序输出

上一篇:为何三通道内存条技术被淘汰

下一篇:读书读到什么程度才叫有出息?编程,男,15000一个月算不算有出息?