c语言题目,急!急!求解啊
•编写一个程序实现如下功能:1)从键盘上输入n个整数(n的值由用户指定,n<1000)存入一数组中,将它们按照从小到大的顺序排列起来,输出排列后的数组值;2)...
• 编写一个程序实现如下功能:
1)从键盘上输入n个整数(n的值由用户指定,n<1000)存入一数组中,将它们按照从小到大的顺序排列起来,输出排列后的数组值;
2)检查整数x(由用户指定)值是否在这些数字当中,若在,返回其在数组中的位置(即下标值,可能不止一个),若不在则将x插入到相应位置,插入后数组仍有序;
3)统计数组中大于a小于b的元素个数并输出,a、b值由用户指定 展开
1)从键盘上输入n个整数(n的值由用户指定,n<1000)存入一数组中,将它们按照从小到大的顺序排列起来,输出排列后的数组值;
2)检查整数x(由用户指定)值是否在这些数字当中,若在,返回其在数组中的位置(即下标值,可能不止一个),若不在则将x插入到相应位置,插入后数组仍有序;
3)统计数组中大于a小于b的元素个数并输出,a、b值由用户指定 展开
3个回答
展开全部
#include <stdio.h>
#define n 10
void main()
{
int d[n],i,j,a,b=0,x;
printf("input %d int:",n);
for (i=0;i<n;++i)
scanf("%d",&d[i]);
for (i=0;i<n;++i)
{
for (j=0;j<n-i;++j)
{
if (d[j]>d[j+1])
a=d[j+1],d[j+1]=d[j],d[j]=a;
}
}
for (i=0;i<n;++i)
printf("%5d",d[i]);
printf("\n");
printf("input x:");
scanf("%d",&x);
for (i=0;i<n;++i)
if (x==d[i])
{printf ("%d",i);b=1;}
for (i=0;i<n;++i)
if (b==0&&d[i]<x&&d[i+1]>x)
{
for (j=n-1;j>i;--j)
d[j]=d[j-1];
d[i+1]=x;
}
for (i=0;i<n;++i)
printf("%5d",d[i]);
printf("\n");
printf("input a and b:");
scanf("%d%d",&a,&b);
for (x=i=0;i<n;++i)
if (d[i]>a&&d[i]<b)
++x;
printf("number between a and b:%d",x);
}
差不多这样吧
#define n 10
void main()
{
int d[n],i,j,a,b=0,x;
printf("input %d int:",n);
for (i=0;i<n;++i)
scanf("%d",&d[i]);
for (i=0;i<n;++i)
{
for (j=0;j<n-i;++j)
{
if (d[j]>d[j+1])
a=d[j+1],d[j+1]=d[j],d[j]=a;
}
}
for (i=0;i<n;++i)
printf("%5d",d[i]);
printf("\n");
printf("input x:");
scanf("%d",&x);
for (i=0;i<n;++i)
if (x==d[i])
{printf ("%d",i);b=1;}
for (i=0;i<n;++i)
if (b==0&&d[i]<x&&d[i+1]>x)
{
for (j=n-1;j>i;--j)
d[j]=d[j-1];
d[i+1]=x;
}
for (i=0;i<n;++i)
printf("%5d",d[i]);
printf("\n");
printf("input a and b:");
scanf("%d%d",&a,&b);
for (x=i=0;i<n;++i)
if (d[i]>a&&d[i]<b)
++x;
printf("number between a and b:%d",x);
}
差不多这样吧
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询