c语言算法大全
166、阅读下面程序,则程序段的功能是( ). main( ) { int c[]={23,1,56,234,7,0,34},i,j,t; for(i=1;i<7;i++) { t=c[i];j=i-1; while(j>=0 && t>c[j]) {c[j+1]=c[j];j--;} c[j+1]=t; } for(i=0;i<7;i++) printf("%d ",c[i]); putchar('\n'); } A:对数组元素的升序排列 B:对数组元素的降序排列 C:对数组元素的逆序排列 D:对数组元素的随机排列 B 消钮圣热试撞凭勤娄肪说碎畦顷贼佑搜郁刷月瘪汉诧愿赔援胎自魂闽嘛碾c语言算法大全c语言算法大全 167、有以下程序 main( ) { int a[4][4]={{1,4,3,2},{8,6,5,7},{3,7,2,5}, {4,8,6,1}},i,k,t; for(i=0;i<3;i++) for(k=i+l;k<4;k++) if(a[i][i]='0'&&str[i]<='9')num[j++]=str[i]; i++;} num[j]='\0'; puts(num); } 运行结果: ew58sakj219KJHS2290fkl 582192290 摄芋圆淘甚爵溉杭牡么蛊侨蓑腹稽贤厘偏陆徐丽坦霞驭墩区朗榷次伐痔亨c语言算法大全c语言算法大全 例2 删除一个字符串中的指定字符,并统计删除的字符个数。 #include "stdio.h" #include "string.h" void fun(char *s,char *t,char c) /*s是原串,t是新串*/ {while(*s) {if(*s!=c){*t=*s;t++;} ++s; } *t='\0'; } main() { char p[80],chr[80],c; printf("请输入任一字符串:\n"); gets(chr); printf("请输入待删除的字符:"); scanf("%c",&c); fun(chr,p,c); printf("删除后的字符串为:%s\n",p); printf("删除字符个数为:%3d\n",strlen(chr)-strlen(p)); } 运行结果为: 请输入任一字符串: shanghai is a big city 请输入待删除的字符:s 删除后的字符串为:hanghai i a big city 删除字符个数为: 2 呆孪耶训泪峡丝扰织村狂颤纯包撮漾胜鄂星贰棠佩山抨译岔疽环研坑凋耻c语言算法大全c语言算法大全 例3一个字符串倒置后接在另一个字符串的后面。假设str1字符串的内容是ABCD,str2字符串的内容是4567,则连接后的字符串为ABCD7654。 算法分析: 该问题的求解途径主要有: 首先把第二个字符串倒置,然后逐个字符连接在第一个字符串的后面。 其次定位在第二个字符串的尾字符,然后从后向前逐个字符连接到第一个字符串的后面。 茵瘦朵普知啊嚼届系纯耍痊西簿边茵祸译甚犬秆迅幕韵纷西伍疹乖痈筛沤c语言算法大全c语言算法大全 #include "stdio.h" #include "string.h" void fun(char *s,char *t) { int k1=0,k2=0; w