c语言中怎样让一个有10个元素的数组输出5个元素后换行后再输出另外五个函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言中怎样让一个有10个元素的数组输出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个函数,怎么改写程序
printf("%d ",num[i]);
if((i+1)%5==0)
printf("\n");
这里改一下就好本回答被提问者和网友采纳 参考技术B 你用一个i做计数器,当i%5=0时就输出一个换行符,就可以了 参考技术C 对照控制输出,设置一个计数器,控制输出换行
http://zhidao.baidu.com/open/question/detail?appid=10002&qid=0964eca2d9f4e18384f53678
C语言里怎样判断数组里的一个元素为空还是为0
null 表示是0还是空?
刚设立一个数组时,里面的元素是都为0还是都为空?
刚设立一个数组时,里面的元素是你定义数组的类型,数值不确定
例如:char ch[4];
现在里面是随机值,同wk_wangkui的回答,
memset(ch,'0',sizeof(char)*4);这时ch里的数值是字符型的‘0’。 参考技术A 刚建立的数组既不是null (C程序没有null这个概念,面向对象才有null)也不是0,是不确定!!!
原来内存这块放的什么还是什么,如果数组你不初始化拿来就用,谁也不知道里面是什么,C是不检查的 参考技术B 空是a[0]='\0'
0的话看你是什么样的数组了,假设是整型的,a[i]=0 参考技术C 空格的ascii是0
0的ascii是48
以上是关于c语言中怎样让一个有10个元素的数组输出5个元素后换行后再输出另外五个函数的主要内容,如果未能解决你的问题,请参考以下文章