求高手指点下。。。O(∩_∩)O~

     最近马上要期末考试了,有道题自己编的时候出了下问题,有知道怎么解决的能帮我下吗??谢谢了。。。。

题目是:用C语言编出下列要求

     (1)输出一位数组中下标是4的倍数的元素;

     (2)自左至右在一维数组中找第一个值为key的元素的下标;

     (3)将一位数组中的元素按与原先存储顺序相反的顺序重新存储;

我编的代码如下:

#include <stdio.h>
#define n 5
void main()
{ int a[n],i,t,j,key,m;
  char ans;
  for(i=0;i<n;i++)   a[i]=i+1;                   //这是满足第一个要求的代码
  printf("该数组a[]=");
  for(i=0;i<n;i++)
   printf("%4d",a[i]);
  printf("/n");
  for(i=0;i<n;i+=4)
   printf("数组中下标是4的倍数的元素%d",a[i]);
  i=0;                                                     //这是满足第二个要求的代码
    while(1)
  {
   printf("/n请输入要查找的数: ");
   scanf("%d",&key);
   i=0;j=n-1;
   while(i<=j)
   {
    m=(i+j)/2;
    if(key==a[m])break;
    if(key>a[m]) i=m+1;
    else  j=m-1;
   }
   if(i<=j)
    printf("找到,对应的下标是%d/n/n",m);
   else
    printf("无此数!/n/n");
   printf("是否继续做查找操作(Y/N)?");
   scanf("%d",&ans);
   if(ans=='N'||ans=='n') break;
  }
   for(i=0;i<n;i++)                       //这是满足第三个要求的代码
    printf("%4d",a[i]);
   printf("/n");
   i=0;
   while(i<n-i-1)
   {
    t=a[i];a[i]=a[n-i-1];a[n-i-1]=t;i++;
   }
   printf("逆序后的数组a[]=");
   for(i=0;i<n;i++)
    printf("%4d",a[i]);
   printf("/n");
}
 

如果有谁知道问题在哪里的话,请帮我指点指点,谢谢!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值