早教吧 育儿知识 作业答案 考试题库 百科 知识分享

C语言高手来~~~1.有一个已排好序的数组,今输入一个数,要求按原来排序的规律将它插入数组中。2.将一个数组中的值按逆序重新存放。例如,原来顺序为8,6,5,4,1。要求改为1,4,5

题目详情
C语言高手来~~~
1. 有一个已排好序的数组,今输入一个数,要求按原来排序的规律将它插入数组中。
2. 将一个数组中的值按逆序重新存放。例如,原来顺序为8,6,5,4,1。要求改为1,4,5,6,8。
3. 有15个数按由小到大顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则打印出“无此数”。
4. 编一程序,将两个字符串连接起来,不要用strcat函数。
5. 打印出以下的杨辉三角形(要求打印出10行)。
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
…… …… ……
▼优质解答
答案和解析
1、#include
#define N 10
main()
{
int i,j,a[N]={1,3,4,6,7,9,10,14,18};
int number;
scanf("%d",&number);
for(i=0;i if(number break;
for(j=N-2;j>=i;j--)
a[j+1]=a[j];
a[i]=number;
for(i=0;i printf("%5d",a[i]);
printf("\n");
}
2、#include
#define N 5
main()
{
int i,j,a[N]={8,6,5,4,1};
for(i=0;i printf("%5d",a[i]);
printf("\n");
for(i=0;i<=(N-1)/2;i++)
{
int temp;
temp=a[i];
a[i]=a[N-1-i];
a[N-1-i]=temp;
}
for(i=0;i printf("%5d",a[i]);
printf("\n");
}
3、#include
#define N 15
main()
{
int i; //循环变量
int a[N]={30,29,28,26,25,24,20,19,18,15,14,12,10,8,5};
int low=0,up=N-1,middle; //每次查找的区间上下限及区间的中间元素下标
int number;
int flag=0;
scanf("%d",&number);
while(low<=up)
{
middle=(up+low)/2;
if(number low=middle+1;
else
{
if(number==a[middle])
{
flag=1;
break;
}
else
up=middle-1;
}
}
if(flag==1)
printf("the number is found.It's location is a[%d] \n",middle);
else
printf("the number is not found.\n");
}
4、#include
#include
main()
{
int i,j;
char string1[80],string2[20];
gets(string1);
gets(string2);
i=0;
while(string1[i]!='\0')
i++;
j=0;
while(string2[j]!='\0')
string1[i++]=string2[j++];
string1[i]='\0';
puts(string1);
}
5、#include
#define N 10
main()
{
int i,j,a[N][N];
for(i=0;i {
a[i][0]=1;
a[i][i]=1;
}
for(i=2;i for(j=1;j a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=0;i {
for(j=0;j<=i;j++)
printf("%5d",a[i][j]);
printf("\n");
}
}
运行结果都是对的,我试过了