c语言中怎样让一个有10个元素的数组输出5个元素后换行后再输出另外五个函数
原题是这个编写一个完整的程序,实现如下功能。1.输入10个无序的整数。2.用选择排序法将以上接收的10个无序整数按从大到小的顺序排序。3.要求任意输出一个整数,用折半法从...
原题是这个
编写一个完整的程序,实现如下功能。1.输入10个无序的整数。2.用选择排序法将以上接收的10个无序整数按从大到小的顺序排序。3.要求任意输出一个整数,用折半法从排好序的10个数中找出该数,若存在,在主函数中输出其所在的位置,否则,提示未找到。
提示,可定义input函数完成10个整数的输入,sort函数完成输入数的排序,search函数完成输入数的查找功能
程序写成这样了
#include<stdio.h>
void input(int a[])
{
int i=0;
printf("请输入10个整数\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
}
void sort(int num[]){
int j,i;
int index;
int temp;
for (i=0; i<9; i++)
{
index=i;
for (j=i+1; j<10; j++) //在无序区中选取最小记录
if (num[j]>num[index])
index=j;
if (index!=i)
{
temp=num[i];
num[i]=num[index];
num[index]=temp;
}
}
for(i=0;i<10;i++)
printf("%d ",num[i]);
}
int search(int num[],int ins){
int k=9;
int j=0;
int i;
i=(j+k)/2;
while(j<=k)
{
if(num[i]==ins)
return i;
if(num[i]<ins)
k=i-1;
else if(num[i]>ins)
j=i+1;
i=(j+k)/2;
}
return -1;
}
int main(){
int n;
int l;
int ss[10];
input(ss);
sort(ss);
printf("请输入要查找的整数");
while(1){
scanf("%d",&n);
l=search(ss,n);
if(l!=-1)
printf("%d\n",l+1);
else
printf("提示未找到\n");
}
return 0;
}
现在要再加入一个输出函数,要输出5个元素后换行再输出5个函数,怎么改写程序 展开
编写一个完整的程序,实现如下功能。1.输入10个无序的整数。2.用选择排序法将以上接收的10个无序整数按从大到小的顺序排序。3.要求任意输出一个整数,用折半法从排好序的10个数中找出该数,若存在,在主函数中输出其所在的位置,否则,提示未找到。
提示,可定义input函数完成10个整数的输入,sort函数完成输入数的排序,search函数完成输入数的查找功能
程序写成这样了
#include<stdio.h>
void input(int a[])
{
int i=0;
printf("请输入10个整数\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
}
void sort(int num[]){
int j,i;
int index;
int temp;
for (i=0; i<9; i++)
{
index=i;
for (j=i+1; j<10; j++) //在无序区中选取最小记录
if (num[j]>num[index])
index=j;
if (index!=i)
{
temp=num[i];
num[i]=num[index];
num[index]=temp;
}
}
for(i=0;i<10;i++)
printf("%d ",num[i]);
}
int search(int num[],int ins){
int k=9;
int j=0;
int i;
i=(j+k)/2;
while(j<=k)
{
if(num[i]==ins)
return i;
if(num[i]<ins)
k=i-1;
else if(num[i]>ins)
j=i+1;
i=(j+k)/2;
}
return -1;
}
int main(){
int n;
int l;
int ss[10];
input(ss);
sort(ss);
printf("请输入要查找的整数");
while(1){
scanf("%d",&n);
l=search(ss,n);
if(l!=-1)
printf("%d\n",l+1);
else
printf("提示未找到\n");
}
return 0;
}
现在要再加入一个输出函数,要输出5个元素后换行再输出5个函数,怎么改写程序 展开
3个回答
展开全部
for(i=0;i<10;i++)
{
printf("%d ",num[i]);
{
if((i+1)%5==0)
printf("\n");
}
}
这里改一下就好
{
printf("%d ",num[i]);
{
if((i+1)%5==0)
printf("\n");
}
}
这里改一下就好
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你用一个i做计数器,当i%5=0时就输出一个换行符,就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-05-25
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询