判断题 动火作业可以不办理动火许可证。( )
问答题 下列给定程序中,函数ptoc()的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序。插入法的基本方法是:先对字符串中的头两个元素进行排序,然后把第3个字符插入前两个字符中,插入后前3个字符依然有序;再把第4个字符插入前三个字符中,待排序的字符串已 在主函数中赋予。 请修改程序中的错误,使它能得出正确的结果。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include<strin9.h> #include<stdi0.h> #define M 80 void proc(char*arr) { int i,j,n;char ch; n=strlen(arr): for(i=1;i<n;i++) //****found**** { c=arr[i]; j=i-1; while((j>=o)&&(ch<arr[j])) { arr[j+1]=arr[j]; j--; } arr[j+1]=ch; } } void main() { char a[M]="QWERTYUIOPASDFGHJKLMNBVCXZ"; printf("The original string:%s\n",a); proc(a); printf("The string after sortin9: %s\n\n",a); }
问答题 请编写函数proc(),该函数的功能是:将M行N列的二维数组中的数据,按行的顺序依次放到一维数组中,一维数组中数据的个数存放在形参n所指的存储单元中。 例如,若二维数组中的数据为 13 23 33 43 14 24 34 44 15 25 35 45 则一维数组中的内容应该是13 23 33 43 14 24 34 44 15 25 35 45。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。 试题程序: #include<stdio.h> void proc(int(*s)[103,int*b,int*n,int rain.int nn) {} void main() { int arr[10][10]={{33,33,33,33),{44,44,44,44}, {55,55,55,55}),i,j; int a[l00]={o),n=o; printf("The matrix:\n"); for(i=0;i<3;i++) { for(j=0;j<4;j++) printf("%3d",arr[i][j]): printf("\n"); } proc(arr,a,&n,3,4): printf("The A array:\n"); for(i=0;i<n;i++) printf("%3d",a[i]): printf("\n\n"); }