Ramos801 2022-06-24 21:55 采纳率: 85.7%
浏览 37
已结题

C语言全局变量和数组问题

请问如何通过myAdd 函数来实线数组元素的插入和排序,怎样将输入数组长度赋值给size。

#include <stdio.h>

#define MAX_SIZE 20
#define SUCCESS 0

int size; // global variable

int myAdd( int A[], int d )
{

}

int myBinarySearch_Iterative( int A[], int d )
{

}

int myRemove( int A[], int d )
{

}

img

int printArray( int A[])
{
int i;
printf("[ ");
for ( i = 0; i < size; i++ )
printf("%d ", A[ i ] );
printf( "]\n" );
return 0;
}

int main()
{
int myArray[MAX_SIZE];
int retCode, data, size;
char action;
char a[20];
do {
fgets(a, 20, stdin);
sscanf(a, "%c %d", &action, &data );

switch( action )
{
case 'a':
case 'A':
retCode = myAdd( myArray, data );
if ( retCode >= SUCCESS ) {
printArray( myArray);
}
else
printf( "Failed to add %d.\n", data );
break;

case 'r': 
case 'R':
  retCode = myRemove( myArray, data );
  if ( retCode >= SUCCESS ) {
    printArray( myArray); 
  }
  else
    printf( "Failed to remove %d.\n", data );    
  break;  
                
case 's': 
case 'S':
  retCode = myBinarySearch_Iterative( myArray, data );
  if( retCode >= 0 )
    printf( "Found %d at index %d.\n", data, retCode );
  else 
    printf( "Not found %d.\n", data );        
  break;
  
case 'q':  
case 'Q':

  break; 

default:
  printf( "Invalid operation %c\n", action );  

}
} while ( action != 'q' && action != 'Q' );

return 0;
}

展开全部

  • 写回答

2条回答 默认 最新

  • Choice~ C/C++领域优质创作者 2022-06-24 22:42
    关注

    插入和排序需要分开函数实现,或者调用sor函数,而大小可以用strlen,或者mian函数用sizeof计算,也可以申请动态内存

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 7月2日
  • 已采纳回答 6月25日
  • 创建了问题 6月24日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部