添加字符元素,　C语言数组　添加　和删除　元素的实现　2021-05-19　10:43:10　数组　不擅长　插入　(添加)　和删除　元素。　数组　的优点在于它是连续的,所以查找数据速度很快。但这也是它的一个缺点。正因为它是连续的,所以当　插入　一个元素时,　插入　点后所有的元素全部都要向后移;而　删除　一个元素时,　删除　点...　数组不擅长插入(添加)和删除元素。数组的优点在于它是连续的,所以查找数据速度很快。但这也是它的一个缺点。正因为它是连续的,所以当插入一个元素时,插入点后所有的元素全部都要向后移;而删除一个元素时,删除点后所有的元素全部都要向前移。　插入算法　#　include　int　main(void)　{　int　a[23]　=　{1,　5,　66,　8,　55,　9,　1,　32,　5,　65,　4,　8,　5,　15,　64,　156,　1564,　15,　1,　8,　9,　7,　215};　int　b[24];　//用来存放插入数字后的新数组,　因为又插入了一个值,　所以长度为24　int　Index;　//插入值的下标,　Index是“下标”的英文单词　int　num;　//插入的值　int　i;　//循环变量　printf("请输入插入值的下标:");　scanf("%d",　&Index);　printf("请输入插入的数值:");　scanf("%d",　&num);　for　(i=0;　i<24;　++i)　{　if　(i　<　Index)　{　b[i]　=　a[i];　/*循环变量i小于插入值位置Index时,　每一个元素所放的位置不变*/　}　else　if　(i　==　Index)　{　b[i]　=　num;　//i等于Index时,　将插入值赋给数组b　}　else　{　b[i]　=　a[i-1];　/*因为插入了一个新的元素,　所以插入位置后的每一个元素所存放的位置都要向后移一位*/　}　}　for　(i=0;　i<24;　++i)　{　printf("%d\x20",　b[i]);　}　printf("\n");　return　0;　}　输出结果是:　请输入插入值的下标:10请输入插入的数值:22　删除算法　#　include　int　main(void)　{　int　a[23]　=　{1,　5,　66,　8,　55,　9,　1,　32,　5,　65,　4,　8,　5,　15,　64,　156,　1564,　15,　1,　8,　9,　7,　215};　int　b[22];　/*用来存放删除数字后的新数组,　因为删除了一个值,　所以长度为22*/　int　Index;　//要删除的值的下标　int　i;　//循环变量　printf("请输入要删除的值的下标:");　scanf("%d",　&Index);　for　(i=0;　i<23;　++i)　{　if　(i　<　Index)　{　b[i]　=　a[i];　/*循环变量i小于插入值位置Index时,　每一个元素所存放的位置不变*/　}　else　{　b[i]　=　a[i+1];　/*删除值后面的元素都往前移一位,　要删除的值直接被覆盖*/　}　}　for　(i=0;　i<22;　++i)　{　printf("%d\x20",　b[i]);　//　\x20表示空格　}　printf("\n");　return　0;　}　输出结果是:　请输入要删除的值的下标:5　实例　37,　49,　51,　61。设计程序对数组中的数据实现一次删除及插入操作:　利用getchar()函数接收键盘输入:　　当输入字符'D'时,接收键盘输入一个数组中存在的整数n,并对数组中存在的该整数进行删除,要求删除后的数组各元素仍按照从小到大的顺序排列。　要求:不使用冒泡法或选择法实现删除数据后的排序操作。　　当输入字符'I'时,接收键盘输入一个数组中不存在的整数m,并将该整数m插入到数组中,要求插入后的数组各元素仍按照从小到大的顺序排列。　要求:不使用冒泡法或选择法实现插入数据后的排序操作。　样例输入和输出:　数组排序后的结果为:5,　9,　11,　16,　24,　34,　37,　49,　51,　61　请输入需要进行的操作(插入'I',删除'D'):D　请输入需要删除的整数:9　删除后的数组为:5,　11,　16,　24,　34,　37,　49,　51,　61　请输入需要进行的操作(插入'I',删除'D'):I　请输入需要插入的整数:13　插入后的数组为:5,　11,　13,　16,　24,　34,　37,　49,　51,　61　#include　int　main()　{　int　a[10]　=　{　5,　9,　11,　16,　24,　34,　37,　49,　51,　61　};　int　i　=　0,n=0,k=0;　char　get;　for　(i　=　0;　i　<　10;　i++)　printf("%3d",　a[i]);　printf("\n");　printf("请输入需要进行的操作(插入‘I',删除‘D')\n");　get　=　getchar();　getchar();　if　(get=='D')　{　printf("请输入要删除的整数:\n");　n　=　getchar();　getchar();　n　-=　48;　for　(i　=　0;　i　<　10;　i++)　{　if　(a[i]==n)　{　for　(;　i　<　10;　i++)　{　a[i]　=　a[i　+　1];　}　a[9]　=　0;　break;　}　}　for　(i　=　0;　i　<　9;　i++)　printf("%3d",　a[i]);　printf("\n");　}　printf("请输入需要进行的操作(插入‘I',删除‘D')\n");　get　=　getchar();　getchar();　if　(get='I')　{　printf("请输入要插入的整数:\n");　scanf_s("%d",　&n);　//注意陷阱,不能用getchar(),因为13其实是两个字符,回车之后,n只吸收了‘1',所以只能用scanf_s().　for　(i　=　0;　i　<　10;　i++)　{　if　(a[i]　<　n&&n　<　a[i　+　1])　{　k　=　i;　for　(i　=　8;　i　>　k;　i--)　{　a[i+1]　=　a[i];　}　a[k+1]　=　n;　break;　}　}　for　(i　=　0;　i　<　10;　i++)　printf("%3d",　a[i]);　}　return　0;　}　到此这篇关于C语言数组添加和删除元素的实现的文章就介绍到这了,更多相关C语言数组添加和删除元素内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!　数组　不擅长　插入　(添加)　和删除　元素。　数组　的优点在于它是连续的,所以查找数据速度很快。但这也是它的一个缺点。正因为它是连续的,所以当　插入　一个元素时,　插入　点后所有的元素全部都要向后移;而　删除　一个元素时,　删除　点...　数组不擅长插入(添加)和删除元素。数组的优点在于它是连续的,所以查找数据速度很快。但这也是它的一个缺点。正因为它是连续的,所以当插入一个元素时,插入点后所有的元素全部都要向后移;而删除一个元素时,删除点后所有的元素全部都要向前移。　插入算法　#　include　int　main(void)　{　int　a[23]　=　{1,　5,　66,　8,　55,　9,　1,　32,　5,　65,　4,　8,　5,　15,　64,　156,　1564,　15,　1,　8,　9,　7,　215};　int　b[24];　//用来存放插入数字后的新数组,　因为又插入了一个值,　所以长度为24　int　Index;　//插入值的下标,　Index是“下标”的英文单词　int　num;　//插入的值　int　i;　//循环变量　printf("请输入插入值的下标:");　scanf("%d",　&Index);　printf("请输入插入的数值:");　scanf("%d",　&num);　for　(i=0;　i<24;　++i)　{　if　(i　<　Index)　{　b[i]　=　a[i];　/*循环变量i小于插入值位置Index时,　每一个元素所放的位置不变*/　}　else　if　(i　==　Index)　{　b[i]　=　num;　//i等于Index时,　将插入值赋给数组b　}　else　{　b[i]　=　a[i-1];　/*因为插入了一个新的元素,　所以插入位置后的每一个元素所存放的位置都要向后移一位*/　}　}　for　(i=0;　i<24;　++i)　{　printf("%dx20",　b[i]);　}　printf("n");　return　0;　}　输出结果是:　请输入插入值的下标:10请输入插入的数值:22　删除算法　#　include　int　main(void)　{　int　a[23]　=　{1,　5,　66,　8,　55,　9,　1,　32,　5,　65,　4,　8,　5,　15,　64,　156,　1564,　15,　1,　8,　9,　7,　215};　int　b[22];　/*用来存放删除数字后的新数组,　因为删除了一个值,　所以长度为22*/　int　Index;　//要删除的值的下标　int　i;　//循环变量　printf("请输入要删除的值的下标:");　scanf("%d",　&Index);　for　(i=0;　i<23;　++i)　{　if　(i　<　Index)　{　b[i]　=　a[i];　/*循环变量i小于插入值位置Index时,　每一个元素所存放的位置不变*/　}　else　{　b[i]　=　a[i+1];　/*删除值后面的元素都往前移一位,　要删除的值直接被覆盖*/　}　}　for　(i=0;　i<22;　++i)　{　printf("%dx20",　b[i]);　//　x20表示空格　}　printf("n");　return　0;　}　输出结果是:　请输入要删除的值的下标:5　"请输入　插入　元素的值:"　)　;　m　=　atoi　(　value　)　;　insert　(　a　,　m　)　;　break　;　}　else　if　(　check_button　(　m　.　x　,　m　.　y　)　==　5　)　{　exit　(　0　)　;　closegraph　(　...　#　include　　#　include　　#　include　　#　include　　#　include　　int　len　=　0　;　#　define　MAXSIZE　13　int　main　(　)　{　int　a　[　10　]　;　void　start　(　int　*　a　)　;　void　create_array　(　int　*　a　)　;　create_array　(　a　)　;　start　(　a　)　;　//out(a);　getchar　(　)　;　return　0　;　}　/*随机生成0-100的整数*/　void　create_array　(　int　*　a　)　{　srand　(　time　(　NULL　)　)　;　int　i　;　for　(　i　=　0　;　i　<　10　;　i　++　)　{　a　[　i　]　=　rand　(　)　%　100　+　1　;　}　len　=　10　;　}　void　out　(　int　*　a　)　{　char　s　[　5　]　;　int　i　;　int　x　,　y　;　void　menu　(　int　*　a　)　;　x　=　0　;　y　=　0　;　initgraph　(　800　,　600　)　;　setbkcolor　(　RGB　(　211　,　51　,　29　)　)　;　cleardevice　(　)　;　MOUSEMSG　m　;　FlushMouseMsgBuffer　(　)　;　setfillcolor　(　WHITE　)　;　fillrectangle　(　50　,　240　,　729　,　250　)　;　fillrectangle　(　50　,　300　,　729　,　310　)　;　fillrectangle　(　40　,　240　,　50　,　310　)　;　fillrectangle　(　93　,　240　,　103　,　310　)　;　fillrectangle　(　146　,　240　,　156　,　310　)　;　fillrectangle　(　199　,　240　,　209　,　310　)　;　fillrectangle　(　252　,　240　,　262　,　310　)　;　fillrectangle　(　305　,　240　,　315　,　310　)　;　fillrectangle　(　358　,　240　,　368　,　310　)　;　fillrectangle　(　411　,　240　,　421　,　310　)　;　fillrectangle　(　464　,　240　,　474　,　310　)　;　fillrectangle　(　517　,　240　,　527　,　310　)　;　fillrectangle　(　570　,　240　,　580　,　310　)　;　fillrectangle　(　623　,　240　,　633　,　310　)　;　fillrectangle　(　676　,　240　,　686　,　310　)　;　fillrectangle　(　729　,　240　,　739　,　310　)　;　settextcolor　(　WHITE　)　;　setbkcolor　(　RGB　(　211　,　51　,　29　)　)　;　settextstyle　(　36　,　18　,　_T　(　"宋体"　)　)　;　setlinecolor　(　RGB　(　211　,　51　,　29　)　)　;　setfillcolor　(　RGB　(　221　,　100　,　83　)　)　;　solidroundrect　(　275　,　410　,　525　,　500　,　80　,　160　)　;　setbkcolor　(　RGB　(　221　,　100　,　83　)　)　;　setfillcolor　(　RGB　(　221　,　100　,　83　)　)　;　outtextxy　(　310　,　437　,　"返回主菜单"　)　;　settextstyle　(　18　,　8　,　_T　(　"宋体"　)　)　;　setbkcolor　(　RGB　(　211　,　51　,　29　)　)　;　settextcolor　(　WHITE　)　;　setlinecolor　(　RGB　(　211　,　51　,　29　)　)　;　setfillcolor　(　RGB　(　211　,　51　,　29　)　)　;　for　(　i　=　0　;　i　<　len　;　i　++　)　{　sprintf　(　s　,　"%d"　,　a　[　i　]　)　;　x　=　64　+　i　*　53　;　y　=　270　;　outtextxy　(　x　,　y　,　s　)　;　}　while　(　1　)　{　while　(　MouseHit　m　=　GetMouseMsg　(　)　;　if　(　m　.　x　<=　525　&&　m　.　x　>=　275　&&　m　.　y　<=　500　&&　m　.　y　>=　410　)　{　switch　(　m　.　uMsg　)　{　case　WM_LBUTTONDOWN　:　menu　(　a　)　;　break　;　default　:　break　int　check_button　(　int　x　,　int　y　)　{　if　(　x　>　150　&&　x　<　650　&&　y　>　100　&&　y　<　200　)　return　1　;　else　if　(　x　>　150　&&　x　<　650　&&　y　>　200　&&　y　<　300　)　return　2　;　else　if　(　x　>　185　&&　x　<　615　&&　y　>　300　&&　y　<　400　)　return　3　;　else　if　(　x　>　400　&&　x　<　600　&&　y　>　400　&&　y　<　500　)　return　4　;　else　if　(　x　>　750　&&　x　<　800　&&　y　>　0　&&　y　<　50　)　return　5　;　else　return　-　1　;　}　void　event_mouse　(　int　*　a　)　{　MOUSEMSG　m　;　char　value　[　4　]　;　int　t　;　void　change　(　int　*　a　)　;　int　binarySearch　(　int　*　a　,　int　value　)　;　void　out_havefind　(　int　*　a　,　int　t　)　;　void　out_notfind　(　int　*　a　)　;　void　insert　(　int　a　[　]　,　int　value　)　;　void　selectsort　(　int　a　[　]　)　;　while　(　1　)　{　m　=　GetMouseMsg　(　)　;　if　(　m　.　uMsg　==　WM_LBUTTONDOWN　)　if　(　check_button　(　m　.　x　,　m　.　y　)　==　1　)　{　change　(　a　)　;　out　(　a　)　;　//menu();　closegraph　(　)　;　break　;　}　else　if　(　check_button　(　m　.　x　,　m　.　y　)　==　2　)　{　int　m　;　InputBox　(　value　,　20　,　"请输入查找元素的值:"　)　;　m　=　atoi　(　value　)　;　t　=　binarySearch　(　a　,　m　)　;　if　(　t　==　-　1　)　{　out_notfind　(　a　)　;　}　else　{　out_havefind　(　a　,　t　)　;　}　break　;　}　else　if　(　check_button　(　m　.　x　,　m　.　y　)　==　3　)　{　selectsort　(　a　)　;　out　(　a　)　;　break　;　}　else　if　(　check_button　(　m　.　x　,　m　.　y　)　==　4　)　{　int　m　;　InputBox　(　value　,　20　,　"请输入插入元素的值:"　)　;　m　=　atoi　(　value　)　;　insert　(　a　,　m　)　;　break　;　}　else　if　(　check_button　(　m　.　x　,　m　.　y　)　==　5　)　{　exit　(　0　)　;　closegraph　(　)　;　break　;　}　}　}　void　menu　(　int　*　a　)　{　void　event_mouse　(　int　*　a　)　;　initgraph　(　800　,　600　)　;　setbkcolor　(　WHITE　)　;　cleardevice　(　)　;　//MOUSEMSG　m;　//FlushMouseMsgBuffer();　setfillcolor　(　RGB　(　191　,　191　,　191　)　)　;　setlinecolor　(　RGB　(　191　,　191　,　191　)　)　;　ellipse　(　150　,　100　,　650　,　500　)　;　line　(　150　,　300　,　650　,　300　)　;　line　(　185　,　200　,　615　,　200　)　;　line　(　185　,　400　,　615　,　400　)　;　settextcolor　(　WHITE　)　;　settextstyle　(　36　,　18　,　_T　(　"宋体"　)　)　;　setfillcolor　(　RGB　(　250　,　209　,　150　)　)　;　setlinecolor　(　RGB　(　250　,　209　,　150　)　)　;　floodfill　(　250　,　250　,　RGB　(　191　,　191　,　191　)　)　;　setbkcolor　(　RGB　(　250　,　209　,　150　)　)　;　outtextxy　(　270　,　230　,　"2.查找元素"　)　;　setfillcolor　(　RGB　(　158　,　213　,　232　)　)　;　setlinecolor　(　RGB　(　158　,　213　,　232　)　)　;　floodfill　(　380　,　160　,　RGB　(　191　,　191　,　191　)　)　;　setbkcolor　(　RGB　(　158　,　213　,　232　)　)　;　outtextxy　(　270　,　140　,　"1.最值交换"　)　;　setfillcolor　(　RGB　(　136　,　177　,　163　)　)　;　setlinecolor　(　RGB　(　136　,　177　,　163　)　)　;　floodfill　(　500　,　350　,　RGB　(　191　,　191　,　191　)　)　;　setbkcolor　(　RGB　(　136　,　177　,　163　)　)　;　outtextxy　(　270　,　330　,　"3.从小到大排序"　)　;　setfillcolor　(　RGB　(　249　,　146　,　145　)　)　;　setlinecolor　(　RGB　(　249　,　146　,　145　)　)　;　floodfill　(　450　,　450　,　RGB　(　191　,　191　,　191　)　)　;　setbkcolor　(　RGB　(　249　,　146　,　145　)　)　;　outtextxy　(　270　,　430　,　"4.插入整数"　)　;　setfillcolor　(　RGB　(　213　,　23　,　23　)　)　;　fillrectangle　(　750　,　0　,　800　,　50　)　;　setfillcolor　(　WHITE　)　;　POINT　pts1　751　,　0　}　,　{　800　,　49　}　,　{　799　,　50　}　,　{　750　,　1　}　,　{　751　,　0　}　}　;　solidpolygon　(　pts1　,　4　)　;　POINT　pts2　799　,　0　}　,　{　800　,　1　}　,　{　751　,　50　}　,　{　750　,　49　}　,　{　799　,　0　}　}　;　solidpolygon　(　pts2　,　4　)　;　event_mouse　(　a　)　;　}　void　change　(　int　*　a　)　{　void　out　(　int　*　a　)　;　int　min　,　max　;　int　minp　,　maxp　;　int　i　;　int　t　;　min　=　a　[　0　]　;　minp　=　0　;　max　=　a　[　0　]　;　maxp　=　0　;　for　(　i　=　0　;　i　<　len　;　i　++　)　{　if　(　a　[　i　]　<　min　)　{　min　=　a　[　i　]　;　minp　=　i　;　}　if　(　a　[　i　]　>　max　)　{　max　=　a　[　i　]　;　maxp　=　i　;　}　}　t　=　a　[　maxp　]　;　a　[　maxp　]　=　a　[　minp　]　;　a　[　minp　]　=　t　;　}　int　binarySearch　(　int　*　a　,　int　value　)　{　void　selectsort　(　int　a　[　]　)　;　int　low　=　0　;　int　high　=　len　-　1　;　int　mid　;　int　midVal　;　selectsort　(　a　)　;　while　(　low　<=　high　)　{　mid　=　(　low　+　high　)　/　2　;　midVal　=　a　[　mid　]　;　if　(　midVal　<　value　)　low　=　mid　+　1　;　else　if　(　midVal　>　value　)　high　=　mid　-　1　;　else　return　mid　;　}　return　-　1　;　}　void　out_notfind　(　int　*　a　)　{　char　s　[　5　]　;　int　i　;　int　x　,　y　;　void　menu　(　int　*　a　)　;　x　=　0　;　y　=　0　;　initgraph　(　800　,　600　)　;　setbkcolor　(　RGB　(　211　,　51　,　29　)　)　;　cleardevice　(　)　;　MOUSEMSG　m　;　FlushMouseMsgBuffer　(　)　;　setfillcolor　(　WHITE　)　;　fillrectangle　(　50　,　240　,　729　,　250　)　;　fillrectangle　(　50　,　300　,　729　,　310　)　;　fillrectangle　(　40　,　240　,　50　,　310　)　;　fillrectangle　(　93　,　240　,　103　,　310　)　;　fillrectangle　(　146　,　240　,　156　,　310　)　;　fillrectangle　(　199　,　240　,　209　,　310　)　;　fillrectangle　(　252　,　240　,　262　,　310　)　;　fillrectangle　(　305　,　240　,　315　,　310　)　;　fillrectangle　(　358　,　240　,　368　,　310　)　;　fillrectangle　(　411　,　240　,　421　,　310　)　;　fillrectangle　(　464　,　240　,　474　,　310　)　;　fillrectangle　(　517　,　240　,　527　,　310　)　;　fillrectangle　(　570　,　240　,　580　,　310　)　;　fillrectangle　(　623　,　240　,　633　,　310　)　;　fillrectangle　(　676　,　240　,　686　,　310　)　;　fillrectangle　(　729　,　240　,　739　,　310　)　;　settextcolor　(　WHITE　)　;　setbkcolor　(　RGB　(　211　,　51　,　29　)　)　;　settextstyle　(　36　,　18　,　_T　(　"宋体"　)　)　;　setlinecolor　(　RGB　(　211　,　51　,　29　)　)　;　setfillcolor　(　RGB　(　221　,　100　,　83　)　)　;　solidroundrect　(　275　,　410　,　525　,　500　,　80　,　160　)　;　setbkcolor　(　RGB　(　221　,　100　,　83　)　)　;　setfillcolor　(　RGB　(　221　,　100　,　83　)　)　;　outtextxy　(　310　,　437　,　"返回主菜单"　)　;　settextstyle　(　18　,　8　,　_T　(　"宋体"　)　)　;　setbkcolor　(　RGB　(　211　,　51　,　29　)　)　;　settextcolor　(　WHITE　)　;　setlinecolor　(　RGB　(　211　,　51　,　29　)　)　;　setfillcolor　(　RGB　(　211　,　51　,　29　)　)　;　for　(　i　=　0　;　i　<　len　;　i　++　)　{　sprintf　(　s　,　"%d"　,　a　[　i　]　)　;　x　=　64　+　i　*　53　;　y　=　270　;　outtextxy　(　x　,　y　,　s　)　;　}　settextcolor　(　WHITE　)　;　settextstyle　(　36　,　18　,　_T　(　"宋体"　)　)　;　setbkcolor　(　RGB　(　211　,　51　,　29　)　)　;　outtextxy　(　300　,　150　,　"Not　Find!"　)　;　while　(　1　)　{　while　(　MouseHit　m　=　GetMouseMsg　(　)　;　if　(　m　.　x　<=　525　&&　m　.　x　>=　275　&&　m　.　y　<=　500　&&　m　.　y　>=　410　)　{　switch　(　m　.　uMsg　)　{　case　WM_LBUTTONDOWN　:　menu　(　a　)　;　break　;　default　:　break　void　out_full　(　int　*　a　)　{　char　s　[　5　]　;　int　i　;　int　x　,　y　;　void　menu　(　int　*　a　)　;　x　=　0　;　y　=　0　;　initgraph　(　800　,　600　)　;　setbkcolor　(　RGB　(　211　,　51　,　29　)　)　;　cleardevice　(　)　;　MOUSEMSG　m　;　FlushMouseMsgBuffer　(　)　;　setfillcolor　(　WHITE　)　;　fillrectangle　(　50　,　240　,　729　,　250　)　;　fillrectangle　(　50　,　300　,　729　,　310　)　;　fillrectangle　(　40　,　240　,　50　,　310　)　;　fillrectangle　(　93　,　240　,　103　,　310　)　;　fillrectangle　(　146　,　240　,　156　,　310　)　;　fillrectangle　(　199　,　240　,　209　,　310　)　;　fillrectangle　(　252　,　240　,　262　,　310　)　;　fillrectangle　(　305　,　240　,　315　,　310　)　;　fillrectangle　(　358　,　240　,　368　,　310　)　;　fillrectangle　(　411　,　240　,　421　,　310　)　;　fillrectangle　(　464　,　240　,　474　,　310　)　;　fillrectangle　(　517　,　240　,　527　,　310　)　;　fillrectangle　(　570　,　240　,　580　,　310　)　;　fillrectangle　(　623　,　240　,　633　,　310　)　;　fillrectangle　(　676　,　240　,　686　,　310　)　;　fillrectangle　(　729　,　240　,　739　,　310　)　;　settextcolor　(　WHITE　)　;　setbkcolor　(　RGB　(　211　,　51　,　29　)　)　;　settextstyle　(　36　,　18　,　_T　(　"宋体"　)　)　;　setlinecolor　(　RGB　(　211　,　51　,　29　)　)　;　setfillcolor　(　RGB　(　221　,　100　,　83　)　)　;　solidroundrect　(　275　,　410　,　525　,　500　,　80　,　160　)　;　setbkcolor　(　RGB　(　221　,　100　,　83　)　)　;　setfillcolor　(　RGB　(　221　,　100　,　83　)　)　;　outtextxy　(　310　,　437　,　"返回主菜单"　)　;　settextstyle　(　18　,　8　,　_T　(　"宋体"　)　)　;　setbkcolor　(　RGB　(　211　,　51　,　29　)　)　;　settextcolor　(　WHITE　)　;　setlinecolor　(　RGB　(　211　,　51　,　29　)　)　;　setfillcolor　(　RGB　(　211　,　51　,　29　)　)　;　for　(　i　=　0　;　i　<　len　;　i　++　)　{　sprintf　(　s　,　"%d"　,　a　[　i　]　)　;　x　=　64　+　i　*　53　;　y　=　270　;　outtextxy　(　x　,　y　,　s　)　;　}　settextcolor　(　WHITE　)　;　settextstyle　(　36　,　18　,　_T　(　"宋体"　)　)　;　setbkcolor　(　RGB　(　211　,　51　,　29　)　)　;　outtextxy　(　270　,　150　,　"数组已满,无法插入!"　)　;　while　(　1　)　{　while　(　MouseHit　m　=　GetMouseMsg　(　)　;　if　(　m　.　x　<=　525　&&　m　.　x　>=　275　&&　m　.　y　<=　500　&&　m　.　y　>=　410　)　{　switch　(　m　.　uMsg　)　{　case　WM_LBUTTONDOWN　:　menu　(　a　)　;　break　;　default　:　break　void　selectsort　(　int　a　[　]　)　{　int　i　,　j　,　k　,　temp　;　for　(　i　=　0　;　i　<　len　-　1　;　i　++　)　{　k　=　i　;　for　(　j　=　i　+　1　;　j　<　len　;　j　++　)　{　if　(　a　[　j　]　<　a　[　k　]　)　k　=　j　;　}　if　(　k　!=　i　)　{　temp　=　a　[　i　]　;　a　[　i　]　=　a　[　k　]　;　a　[　k　]　=　temp　;　}　}　}　void　out_havefind　(　int　*　a　,　int　t　)　{　char　s　[　5　]　;　int　i　;　int　x　,　y　;　void　menu　(　int　*　a　)　;　x　=　0　;　y　=　0　;　initgraph　(　800　,　600　)　;　setbkcolor　(　RGB　(　211　,　51　,　29　)　)　;　cleardevice　(　)　;　MOUSEMSG　m　;　FlushMouseMsgBuffer　(　)　;　setfillcolor　(　WHITE　)　;　fillrectangle　(　50　,　240　,　729　,　250　)　;　fillrectangle　(　50　,　300　,　729　,　310　)　;　fillrectangle　(　40　,　240　,　50　,　310　)　;　fillrectangle　(　93　,　240　,　103　,　310　)　;　fillrectangle　(　146　,　240　,　156　,　310　)　;　fillrectangle　(　199　,　240　,　209　,　310　)　;　fillrectangle　(　252　,　240　,　262　,　310　)　;　fillrectangle　(　305　,　240　,　315　,　310　)　;　fillrectangle　(　358　,　240　,　368　,　310　)　;　fillrectangle　(　411　,　240　,　421　,　310　)　;　fillrectangle　(　464　,　240　,　474　,　310　)　;　fillrectangle　(　517　,　240　,　527　,　310　)　;　fillrectangle　(　570　,　240　,　580　,　310　)　;　fillrectangle　(　623　,　240　,　633　,　310　)　;　fillrectangle　(　676　,　240　,　686　,　310　)　;　fillrectangle　(　729　,　240　,　739　,　310　)　;　settextcolor　(　WHITE　)　;　setbkcolor　(　RGB　(　211　,　51　,　29　)　)　;　settextstyle　(　36　,　18　,　_T　(　"宋体"　)　)　;　setlinecolor　(　RGB　(　211　,　51　,　29　)　)　;　setfillcolor　(　RGB　(　221　,　100　,　83　)　)　;　solidroundrect　(　275　,　410　,　525　,　500　,　80　,　160　)　;　setbkcolor　(　RGB　(　221　,　100　,　83　)　)　;　setfillcolor　(　RGB　(　221　,　100　,　83　)　)　;　outtextxy　(　310　,　437　,　"返回主菜单"　)　;　settextstyle　(　18　,　8　,　_T　(　"宋体"　)　)　;　setbkcolor　(　RGB　(　211　,　51　,　29　)　)　;　settextcolor　(　WHITE　)　;　setlinecolor　(　RGB　(　211　,　51　,　29　)　)　;　setfillcolor　(　RGB　(　211　,　51　,　29　)　)　;　for　(　i　=　0　;　i　<　len　;　i　++　)　{　setbkcolor　(　RGB　(　211　,　51　,　29　)　)　;　settextcolor　(　WHITE　)　;　sprintf　(　s　,　"%d"　,　a　[　i　]　)　;　x　=　64　+　i　*　53　;　y　=　270　;　if　(　i　==　t　)　{　setbkcolor　(　YELLOW　)　;　settextcolor　(　BLACK　)　;　outtextxy　(　x　,　y　,　s　)　;　}　outtextxy　(　x　,　y　,　s　)　;　}　settextcolor　(　WHITE　)　;　settextstyle　(　36　,　18　,　_T　(　"宋体"　)　)　;　setbkcolor　(　RGB　(　211　,　51　,　29　)　)　;　outtextxy　(　300　,　150　,　"Have　Find!"　)　;　while　(　1　)　{　while　(　MouseHit　m　=　GetMouseMsg　(　)　;　if　(　m　.　x　<=　525　&&　m　.　x　>=　275　&&　m　.　y　<=　500　&&　m　.　y　>=　410　)　{　switch　(　m　.　uMsg　)　{　case　WM_LBUTTONDOWN　:　menu　(　a　)　;　break　;　default　:　break　void　insert_success　(　int　*　a　,　int　value　)　{　char　s　[　5　]　;　int　i　;　int　x　,　y　;　void　menu　(　int　*　a　)　;　x　=　0　;　y　=　0　;　initgraph　(　800　,　600　)　;　setbkcolor　(　RGB　(　211　,　51　,　29　)　)　;　cleardevice　(　)　;　MOUSEMSG　m　;　FlushMouseMsgBuffer　(　)　;　setfillcolor　(　WHITE　)　;　fillrectangle　(　50　,　240　,　729　,　250　)　;　fillrectangle　(　50　,　300　,　729　,　310　)　;　fillrectangle　(　40　,　240　,　50　,　310　)　;　fillrectangle　(　93　,　240　,　103　,　310　)　;　fillrectangle　(　146　,　240　,　156　,　310　)　;　fillrectangle　(　199　,　240　,　209　,　310　)　;　fillrectangle　(　252　,　240　,　262　,　310　)　;　fillrectangle　(　305　,　240　,　315　,　310　)　;　fillrectangle　(　358　,　240　,　368　,　310　)　;　fillrectangle　(　411　,　240　,　421　,　310　)　;　fillrectangle　(　464　,　240　,　474　,　310　)　;　fillrectangle　(　517　,　240　,　527　,　310　)　;　fillrectangle　(　570　,　240　,　580　,　310　)　;　fillrectangle　(　623　,　240　,　633　,　310　)　;　fillrectangle　(　676　,　240　,　686　,　310　)　;　fillrectangle　(　729　,　240　,　739　,　310　)　;　settextcolor　(　WHITE　)　;　setbkcolor　(　RGB　(　211　,　51　,　29　)　)　;　settextstyle　(　36　,　18　,　_T　(　"宋体"　)　)　;　setlinecolor　(　RGB　(　211　,　51　,　29　)　)　;　setfillcolor　(　RGB　(　221　,　100　,　83　)　)　;　solidroundrect　(　275　,　410　,　525　,　500　,　80　,　160　)　;　setbkcolor　(　RGB　(　221　,　100　,　83　)　)　;　setfillcolor　(　RGB　(　221　,　100　,　83　)　)　;　outtextxy　(　310　,　437　,　"返回主菜单"　)　;　settextstyle　(　18　,　8　,　_T　(　"宋体"　)　)　;　setbkcolor　(　RGB　(　211　,　51　,　29　)　)　;　settextcolor　(　WHITE　)　;　setlinecolor　(　RGB　(　211　,　51　,　29　)　)　;　setfillcolor　(　RGB　(　211　,　51　,　29　)　)　;　for　(　i　=　0　;　i　<　len　;　i　++　)　{　setbkcolor　(　RGB　(　211　,　51　,　29　)　)　;　settextcolor　(　WHITE　)　;　sprintf　(　s　,　"%d"　,　a　[　i　]　)　;　x　=　64　+　i　*　53　;　y　=　270　;　if　(　a　[　i　]　==　value　)　{　setbkcolor　(　YELLOW　)　;　settextcolor　(　BLACK　)　;　outtextxy　(　x　,　y　,　s　)　;　}　outtextxy　(　x　,　y　,　s　)　;　}　settextcolor　(　WHITE　)　;　settextstyle　(　36　,　18　,　_T　(　"宋体"　)　)　;　setbkcolor　(　RGB　(　211　,　51　,　29　)　)　;　outtextxy　(　300　,　150　,　"插入成功!"　)　;　while　(　1　)　{　while　(　MouseHit　m　=　GetMouseMsg　(　)　;　if　(　m　.　x　<=　525　&&　m　.　x　>=　275　&&　m　.　y　<=　500　&&　m　.　y　>=　410　)　{　switch　(　m　.　uMsg　)　{　case　WM_LBUTTONDOWN　:　menu　(　a　)　;　break　;　default　:　break　void　insert　(　int　a　[　]　,　int　value　)　{　int　i　;　int　j　;　void　out_full　(　int　*　a　)　;　void　selectsort　(　int　a　[　]　)　;　void　insert_success　(　int　*　a　,　int　value　)　;　selectsort　(　a　)　;　if　(　len　<　MAXSIZE　)　//　判断是否超出数组的最大容量　{　if　(　value　>=　a　[　len　-　1　]　)　{　a　[　len　]　=　value　;　len　++　;　}　else　{　for　(　i　=　0　;　i　<　len　;　i　++　)　{　if　(　value　<　a　[　i　]　)　{　for　(　j　=　len　;　j　>　i　;　j　--　)　{　a　[　j　]　=　a　[　j　-　1　]　;　}　a　[　i　]　=　value　;　break　;　}　}　len　++　;　}　insert_success　(　a　,　value　)　;　}　else　out_full　(　a　)　;　}　void　start　(　int　*　a　)　{　MOUSEMSG　m　;　FlushMouseMsgBuffer　(　)　;　initgraph　(　800　,　600　)　;　setbkcolor　(　WHITE　)　;　cleardevice　(　)　;　setfillcolor　(　RGB　(　255　,　239　,　0　)　)　;　POINT　pts1　400　,　50　}　,　{　463　,　222　}　,　{　650　,　229　}　,　{　500　,　350　}　,　{　550　,　523　}　,　{　400　,　422　}　,　{　250　,　522　}　,　{　300　,　350　}　,　{　150　,　228　}　,　{　335　,　225　}　,　{　400　,　50　}　}　;　solidpolygon　(　pts1　,　10　)　;　setbkcolor　(　RGB　(　255　,　239　,　0　)　)　;　settextcolor　(　RED　)　;　settextstyle　(　30　,　15　,　_T　(　"宋体"　)　)　;　outtextxy　(　310　,　300　,　"生成随机数组"　)　;　while　(　1　)　{　while　(　MouseHit　m　=　GetMouseMsg　(　)　;　if　(　m　.　x　<=　600　&&　m　.　x　>=　200　&&　m　.　y　<=　450　&&　m　.　y　>=　250　)　{　switch　(　m　.　uMsg　)　{　case　WM_LBUTTONDOWN　:　out　(　a　)　;　break　;　default　:　break　C语言数组　实例解析一个人只有在早晨开始就努力学习,这一天才不会被浪费掉。我们每一个人都应该抓住每一分,每一秒,不让他们偷跑掉。同学们,请记住:成功,属于珍惜时间的人,珍惜自己的时间,对你自己是有益的。...　C语言数组实例解析　一个人只有在早晨开始就努力学习,这一天才不会被浪费掉。我们每一个人都应该抓住每一分,每一秒,不让他们偷跑掉。同学们,请记住:成功,属于珍惜时间的人,珍惜自己的时间,对你自己是有益的。以下是小编为大家搜索整理了C语言数组实例解析,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考试网!　一维　数组求平均值　main()　{float　b,s=0.0,aver,a[6];　int　i;　for(i=0;i<6;i++)　scanf("%f",&a[i]);　for(i=0;i<6;i++)　s=s+a[i];　aver=s/6.0;　printf("%f\n",aver);　}　求数组中的最大值　main()　{float　max,s=0.0,a[6];　int　i;　for(i=0;i<6;i++)　scanf("%f",&a[i]);　max=a[0];　for(i=1;i<6;i++)　if(max　max=a[i];　printf("最大值是:%f\n",max);　}　找出最大和最小数并调换位置　main()　{float　max,min,s=0.0,a[5];　int　i,k=0,j=0;　for(i=0;i<5;i++)　scanf("%f",&a[i]);　max=min=a[0];　for(i=1;i<6;i++)　if(max　{max=a[i];k=i;}　if(min>a[i])　{min=a[i];j=i;}　printf("最大最小值分别在:%d,%d\n",k,j);　for(i=0;i<5;i++)　printf("　%f　\n",a[i]);　查找数组中有无此项　main()　{float　a[9]={21,12,34,23,54,67,65,13,87};　int　s,i;　/*for(i=0;i<9;i++)　scanf("%f",&a[i]);　printf("\n");*/　printf("请输入要查找的数:");　scanf("%d",&s);　for(i=0;i<9;i++)　if(a[i]==s)　{printf("有此项\n");break;}　if(i==9)　printf("无此项\n");　}　判断是否为回文　main()　{char　a[100];　int　s,d,i;　printf("请输入:");　gets(a);　//输入一个字符串　s=i=0;　for(i=0;i<100;i++)　if(a[i]=='\0')　d=i;　d--;　for(s=0;s<=d;s++)　if(s<=d&&a[s]==a[d])　d--;　else　break;　if(s>d)　printf("%s是回文.\n",a);　else　printf("%s不是回文.\n",a);　}　删除数组中的第三项　main()　{int　a[10],i,j;　for(i=0;i<10;i++)　{scanf("%d",&a[i]);　printf("%4d",a[i]);}　for(i=2;i<9;i++)　a[i]=a[i+1];　printf("\n删除后的`数组内容:\n");　for(i=0;i<9;i++)　printf("%4d",a[i]);　}　往数组中第三项插入数据　main()　{int　a[11],i,j,x;　for(i=0;i<10;i++)　{scanf("%d",&a[i]);　printf("%4d",a[i]);}　printf("\n请输入插入的数据:\n");　scanf("%d",&x);　for(i=10;i>=2;i--)　a[i]=a[i-1];　a[2]=x;　printf("\n插入后的数组内容:\n");　for(i=0;i<11;i++)　printf("%4d",a[i]);　}　求1—1000中能整除3或7且不能同时整除3和7的数　main()　{int　i,j=0,a[500];　for　(i=1;i<=1000;i++)　if(((i%7==0)||(i%11==0))&&(i%77!=0))　{a[j]=i;j++;}　for　(i=0;i　{if((i+1)%10==0)printf("\n");　printf("%4d",a[i]);}　printf("\n满足条件的个数是%d\n",j);　}　二维数组　算出五个学生的总分和平均分　main()　{float　a[5][5],s[5]={0},aver[5]={0};　int　i,j;　for(i=0;i<5;i++)//随机产生学生的分数　{for(j=0;j<5;j++)　{a[i][j]=rand()%100;　printf("%1.1f　",a[i][j]);}　printf("\n");}　for(i=0;i<5;i++)//算每个学生的总分　for(j=0;j<5;j++)　s[i]=s[i]+a[i][j];　for(i=0;i<5;i++)//算每个学生的平均分　aver[i]=s[i]/6.0;　for(i=0;i<5;i++)　{printf("第%d个学生总分是:%1.1f平均分是%1.1f.",i+1,s[i],aver[i]);　printf("\n");}　}　求五个学生的六门成绩的最高分　main()　{float　a[5][6],s[5],z[6],max;　int　i,j;　for(i=0;i<5;i++)　{for(j=0;j<6;j++)　{a[i][j]=rand()%100;　printf("%1.1f　",a[i][j]);}　printf("\n");}　for(i=0;i<5;i++)//求每个同学的最高分。　{　max=a[i][0];　for(j=1;j<6;j++)　if(max　max=a[i][j];　s[i]=max;}　for(i=0;i<5;i++)　printf("第%d同学的最高分是:%1.1f　\n",i+1,s[i]);　for(j=0;j<6;j++)//求每个科目的最高分。　{　max=a[0][j];　for(i=1;i<5;i++)　if(max　max=a[i][j];　z[j]=max;}　for(j=0;j<6;j++)　printf("第%d科的最高分是:%1.1f　\n",j+1,z[j]);　}　求6*6数组的对角线之和。　main()　{float　a[6][6],max=0,max1=0;　int　i,j;　for(i=0;i<6;i++)//给数组定义随机数。　{for(j=0;j<6;j++)　{a[i][j]=rand()%100;　printf("%1.1f　",a[i][j]);}　printf("\n");}　for(i=0,j=0;i<6,j<6;i++,j++)//正对角线之和。　max=max+a[i][j];　printf("%.01f\n",max);　for(i=0,j=5;i<6,j>=0;i++,j--)//反对角线之和。　max1=max1+a[i][j];　printf("%.01f\n",max1);　}　求6*6数组的对角线能被7整除的元素之和。　main()　{float　a[6][6],max=0,max1=0,s=0;　int　i,j;　for(i=0;i<6;i++)//给数组定义随机数。　{for(j=0;j<6;j++)　{a[i][j]=rand()%100;　printf("%1.1f　",a[i][j]);}　printf("\n");}　for(i=0,j=0;i<6,j<6;i++,j++)　if(a[i][j]/7==0)　max=max+a[i][j];　for(i=0,j=5;i<6,j>=0;i++,j--)　if(a[i][j]/7==0)　max1=max1+a[i][j];　s=max+max1;　printf("%0.1f\n",s);　}　求6*6数组四周之和　main()　{float　a[6][6],max=0;　int　i,j;　for(i=0;i<6;i++)//给数组定义随机数。　{for(j=0;j<6;j++)　{a[i][j]=rand()%100;　printf("%1.1f　",a[i][j]);}　printf("\n");}　for(i=0;i<6;i++)//求四周之和。　for(j=0;j<6;j++)　if(i==0||i==5||j==0||j==5)　max=max+a[i][j];　printf("%0.1f\n",max);　}