Ramos801 2022-06-25 05: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条回答 默认 最新

  • 挨踢程序员(不秃版) C/C++领域优质创作者 2022-06-25 06:42
    关注

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

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

报告相同问题?

问题事件

  • 系统已结题 7月3日
  • 已采纳回答 6月25日
  • 创建了问题 6月25日

悬赏问题

  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 linux驱动,linux应用,多线程