C语言编程,两题分开写
2个回答
展开全部
第一题
#include<stdio.h>
#include<math.h>
int main()
{
int input[10];
int i=0;
for(i=0;i<10;i++)
{
scanf("%d",&input[i]);
input[i] = fabs(input[i]);
}
for(i=0;i<10;i++)
{
if(input[i]%2==1 && (input[i]/10)%2 == 0)
printf("%d ",input[i]);
}
return 0;
}
第二题
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int main()
{
int src[20];
int sort[20];
int i=0;
int k=0;
int t=0;
//随机数
srand((unsigned)time(NULL));
int temp=0;
for( i = 0; i < 20;i++ )
{
temp = rand()%1000+1;
if(temp<100)
i--;
else
src[i] = temp;
}
//插入排序
sort[0]=src[0];
for( i = 1; i < 20;i++ )
{
temp = src[i];
for(t=0;t<20;t++)
{
if(temp>sort[t])
continue;
for(k=19;k>t;k--)
{
sort[k]=sort[k-1];
}
sort[t] = temp;
break;
}
}
for(i=0;i<20;i++)//输出排序后数组
{
printf("%d\n",sort[i]);
}
i=k=t=0;
//二分法查找
int h=19,l=0,x;
scanf("%d",&x);
int m;
while(1)
{ m=(h+l)/2;
if(x>sort[m])
{
l=m+1;
continue;
}
if(x<sort[m])
{
h=m-1;
continue;
}
if(x==sort[m])
{
printf("%d",m);
break;
}
if(l>=h)
{
printf("%d",-1);
break;
}
}
return 0;
}
#include<stdio.h>
#include<math.h>
int main()
{
int input[10];
int i=0;
for(i=0;i<10;i++)
{
scanf("%d",&input[i]);
input[i] = fabs(input[i]);
}
for(i=0;i<10;i++)
{
if(input[i]%2==1 && (input[i]/10)%2 == 0)
printf("%d ",input[i]);
}
return 0;
}
第二题
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int main()
{
int src[20];
int sort[20];
int i=0;
int k=0;
int t=0;
//随机数
srand((unsigned)time(NULL));
int temp=0;
for( i = 0; i < 20;i++ )
{
temp = rand()%1000+1;
if(temp<100)
i--;
else
src[i] = temp;
}
//插入排序
sort[0]=src[0];
for( i = 1; i < 20;i++ )
{
temp = src[i];
for(t=0;t<20;t++)
{
if(temp>sort[t])
continue;
for(k=19;k>t;k--)
{
sort[k]=sort[k-1];
}
sort[t] = temp;
break;
}
}
for(i=0;i<20;i++)//输出排序后数组
{
printf("%d\n",sort[i]);
}
i=k=t=0;
//二分法查找
int h=19,l=0,x;
scanf("%d",&x);
int m;
while(1)
{ m=(h+l)/2;
if(x>sort[m])
{
l=m+1;
continue;
}
if(x<sort[m])
{
h=m-1;
continue;
}
if(x==sort[m])
{
printf("%d",m);
break;
}
if(l>=h)
{
printf("%d",-1);
break;
}
}
return 0;
}
更多追问追答
追问
第7题呢?
追答
都发了 第一题很短 第二题有些长
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询