重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
#include stdio.h
创新互联公司致力于互联网品牌建设与网络营销,包括成都网站制作、成都网站设计、SEO优化、网络推广、整站优化营销策划推广、电子商务、移动互联网营销等。创新互联公司为不同类型的客户提供良好的互联网应用定制及解决方案,创新互联公司核心团队十多年专注互联网开发,积累了丰富的网站经验,为广大企业客户提供一站式企业网站建设服务,在网站建设行业内树立了良好口碑。
#define MAX 10
int search(int nums[], int key)
{
for (int i=0; i!=10; ++i)
{
if (nums[i] == key)
{
return i;
}
}
return -1;
}
int main()
{
int nums[MAX];
for (int i=0; i!=10; ++i)
{
scanf("%d", nums[i]);
}
int key;
scanf("%d", key);
int ans = search(nums, key);
printf("%d\n", ans);
return 0;
}
这么简单的问题,自己去修改吧。二分查找对于十个数根本没有任何意义
如果你想写复杂了,可以实现一个平衡二叉树,或者用散列算法
这么简单的题目你非要钻牛角尖的话。。。我给你一个另外的解答:
#include iostream
#include set
using namespace std;
const int MAX = 1000000;
setint hash[MAX];
int main()
{
int temp, index = 0;
for (int i=0; i!=10; ++i)
{
scanf("%d", temp);
hash[temp + MAX / 2].insert(index++);
}
scanf("%d", temp);
setint::iterator iter = hash[temp + MAX / 2].begin();
for ( ; iter!=hash[temp + MAX / 2].end(); ++iter)
{
printf("%d\n", *iter);
}
return 0;
}
顺便告诉你fflush不是标准c的一个函数
#includestdio.h
int Input(long num[], float score[]);
void Total1(long num[], float score[], int n);
void Total2(long num[],float score[],int n);
int main(){
long num[30];
float score[30];
int n;
n=Input(num, score);
Total1(num, score,n);
Total2(num, score,n);
return 0;
}
int Input(long num[], float score[]){
int i=0;
while(i30){
scanf("%ld%f",num[i],score[i]);
if(score[i]0)
break;
i++;
}
return i;
}
void Total1(long num[], float score[], int n){
int i,c=0;
for(i=0; in; i++){
if(score[i]60){
c++;
printf("%ld\n",num[i]);
}
}
printf("The score60 is:%d\n",c);
}
void Total2(long num[],float score[],int n){
int i,c=0;
float a=0;
for(i=0; in; i++)
a+=score[i];
a/=n;
for(i=0; in; i++){
if(score[i]=a){
c++;
printf("%ld\n",num[i]);
}
}
printf("The score=averge is:%d\n",c);
}
一个2行4列的字符数组
strcpy就是把字符串的字符一个个赋值给数组
数组索引是从0开始的
you赋给arr,按顺序来,就是arr[0][0]=y,arr[0][1]=o,arr[0][2]=u
arr[0][3]=
me赋给arr[1],就是arr[1][0]=m,arr[1][1]=e
把arr这个数组打印出来,刚好是youme
给你看一下我的代码
#includestdio.h
void main(){
int a[10],b[10],i,j,temp;
for(i=0;i10;i++){
printf("请输入第%d个数:",(i+1));
scanf("%d",a[i]);
//保存数组,因为输入完数组要冒泡排序,排序后的元素顺序可能和原数组不一样
b[i]=a[i];
}
//冒泡排序,求最大值
for(i=0;i9;i++){
for(j=0;j9-i;j++){
if(a[j]a[j+1]){ //这里控制的升序还是降序,我这是降序
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
//查找最大值在原数组的位置
for(i=0;i10;i++){
if(b[i]==a[0]){ //降序的话最大值是a[0],升序的话最大值是a[9]
break; //一旦找到最大值,马上跳出循环
}
}
printf("最大值是%d,它在原数组中是第%d个元素!\n",a[0],(i+1));
}