[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fx1nbFEiSuk6Cmr0gv0iKWovAiTDYe08-CvYuNRcqmbI":3},{"answer":4,"createTime":5,"id":6,"options":7,"origin":8,"question":15,"related":16,"source":22,"type":23},[],"2024-06-28 22:48:19",156319403,[],{"count":9,"courseId":10,"courseImg":11,"courseName":12,"workId":13,"workName":14},159,"4f8ff765ff12f5a52eb50b5a7f6d8b9f","https:\u002F\u002Ftihai-oss-cloud.itihey.com\u002Fimg\u002F7571164ed802b83343fbcc15d5ef4f71.png","C语言程序设计","work_35785222","程序改错","\u002F*---- Student结构体定义如下,程序对主函数中Student结构体数组stu按照成绩score进行降序排序并显示. 下面给定的程序存在错误,请改正. 注意:不得增行或删行,也不得更改程序的结构. -------------------------------------------------------*\u002F #include &lt;stdio.h&gt; #define N 6 struct Student{ int No; \u002F*学号*\u002F char Name[10]; \u002F*姓名*\u002F int Score; \u002F*成绩*\u002F }; void sort(struct Student *,int); void show(struct Student *,int); int main() { struct Student stu[N]={{14461,&quot;Zhang&quot;,78},{12213,&quot;Wang&quot;,98},{13171,&quot;Li&quot;,86}, {14158,&quot;Ling&quot;,73},{14239,&quot;Fun&quot;,100},{13211,&quot;Qian&quot;,60}}; printf(&quot;排序前:\\n&quot;); show(stu,N); sort(stu,N); printf(&quot;排序后:\\n&quot;); show(stu,N); return 0; } void sort(struct Student stu[],int n) { int i,j,k; struct Student temp; for(i=0;i&lt;n-1;i++) { \u002F***********FOUND***********\u002F i = k; for(j=i+1;j&lt;n;j++) \u002F***********FOUND***********\u002F if(stu[j].Score&lt;stu[k].Score) k=j; temp=stu[k];stu[k]=stu[i];stu[i]=temp; } } \u002F***********FOUND***********\u002F void show(struct Student stu,int n) { int i; for(i=0;i&lt;n;i++) printf(&quot;%6d %10s %6d\\n&quot;,stu[i].No,stu[i].Name,stu[i].Score); printf(&quot;\\n&quot;); }",[17,24,29,34,39,44,47,52,57,62],{"answer":18,"createTime":5,"id":19,"options":20,"question":21,"source":22,"type":23},[],156319393,[],"\u002F*---功能:利用二维数组输出如图所示的图形. ******* ***** *** * *** ***** ******* ------------------------------------------------------*\u002F #include &lt;stdio.h&gt; #include &lt;conio.h&gt; \u002F**********FOUND**********\u002F #define N 7 main() { char a[N][N]; int i,j,z; for(i=0;i&lt;N;i++) for(j=0;j&lt;N;j++) \u002F**********FOUND**********\u002F a[i][j]=; z=0; for(i=0;i&lt;(N+1)\u002F2;i++) { for(j=z;j&lt;N-z;j++) a[i][j]='*'; z=z+1; } \u002F**********FOUND**********\u002F z=0; for(i=(N+1)\u002F2;i&lt;N;i++) { z=z-1; for(j=z;j&lt;N-z;j++) a[i][j]='*'; } for(i=0;i&lt;N;i++) { for(j=0;j&lt;N;j++) \u002F**********FOUND**********\u002F printf(&quot;%d&quot;,a[i][j]); printf(&quot;\\n&quot;); } }","v1",4,{"answer":25,"createTime":5,"id":26,"options":27,"question":28,"source":22,"type":23},[],156319395,[],"\u002F*---功能:在一个已按升序排列的数组中插入一个数,插入后,数组元素仍按升序排列. ------------------------------------------------------*\u002F #include &lt;stdio.h&gt; #define N 11 main() { int i,number,a[N]={1,2,4,6,8,9,12,15,149,156}; printf(&quot;please enter an integer to insert in the array:\\n&quot;); \u002F**********FOUND**********\u002F scanf(&quot;%d&quot;,&amp;number) printf(&quot;The original array:\\n&quot;); for(i=0;i&lt;N-1;i++) printf(&quot;%5d&quot;,a[i]); printf(&quot;\\n&quot;); \u002F**********FOUND**********\u002F for(i=N-1;i&gt;=0;i--) if(number&lt;=a[i]) \u002F**********FOUND**********\u002F a[i]=a[i-1]; else { a[i+1]=number; \u002F**********FOUND**********\u002F exit; } if(number&lt;a[0]) a[0]=number; printf(&quot;The result array:\\n&quot;); for(i=0;i&lt;N;i++) printf(&quot;%5d&quot;,a[i]); printf(&quot;\\n&quot;); }",{"answer":30,"createTime":5,"id":31,"options":32,"question":33,"source":22,"type":23},[],156319397,[],"\u002F*----功能:以下程序输出前六行杨辉三角形,既 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 &hellip;&hellip;&hellip;&hellip; &hellip;&hellip;&hellip;&hellip; ------------------------------------------------------*\u002F #include &lt;stdio.h&gt; main( ) { static int a[6][6]; int i,j,k; \u002F***********FOUND***********\u002F for(i=1;i&lt;=6;i++) \u002F*只修改错误的地方其他不要修改否则不得分*\u002F { for(k=0;k&lt;10-2*i;k++) printf(&quot; &quot;); for(j=0;j&lt;=i;j++) { \u002F***********FOUND***********\u002F if(j==0&amp;&amp;j==i) a[i][j]=1; else \u002F***********FOUND***********\u002F a[i][j]=a[i-1][j-1]+a[i][j-1]; printf(&quot; &quot;); printf(&quot;%-3d&quot;,a[i][j]); } \u002F***********FOUND***********\u002F printf(&quot;\\t&quot;); } }",{"answer":35,"createTime":5,"id":36,"options":37,"question":38,"source":22,"type":23},[],156319399,[],"\u002F*---程序实现将s2字符串连接到s1字符串末尾,形一个新的字符串. 注意:不得增行或删行,也不得更改程序的结构. -------------------------------------------------------*\u002F #include &lt;stdio.h&gt; int main() { char s1[200],s2[100]; int i,j; printf(&quot;输入第一个字符串:&quot;); gets(s1); printf(&quot;输入第二个字符串:&quot;); gets(s2); i=0; while (s1[i]!='\\0') \u002F***********FOUND***********\u002F i+1; j=0; while(s2[j]!='\\0') { \u002F***********FOUND***********\u002F s1[i++]=s2[j]; j++; } s1[i+j]='\\0'; printf(&quot;\\n新字符串是:&quot;); \u002F***********FOUND***********\u002F puts(s2); return 0; }",{"answer":40,"createTime":5,"id":41,"options":42,"question":43,"source":22,"type":23},[],156319401,[],"\u002F*--- 主函数main()首先从键盘接收N个整数,依次存放在数组a中;其次,调用fun函数在N个整数中找出第一个奇数,并返回该数的下标值.如果数组中无奇数,则返回-1; 请改正程序中的错误,使它能得出正确的结果. 注意:不得增行或删行,也不得更改程序的结构. -------------------------------------------------------*\u002F #include&lt;stdio.h&gt; #define N 8 int fun(int [], int ); int main() { int a[N], i; for (i=0; i&lt;N; i++) \u002F***********FOUND***********\u002F scanf(&quot;%d&quot;,&amp;(a+i)); i = fun(a,N); if(i&gt;=0) printf(&quot;第一个奇数是%d\\n &quot;,a[i]); return 0; } int fun(int a[], int n) { int i; for (i=0; i&lt;n; i++) \u002F***********FOUND***********\u002F if (a[i]\u002F2!=0) break; \u002F***********FOUND***********\u002F if (i&lt;n) return 1; else return -1; }",{"answer":45,"createTime":5,"id":6,"options":46,"question":15,"source":22,"type":23},[],[],{"answer":48,"createTime":5,"id":49,"options":50,"question":51,"source":22,"type":23},[],156319405,[],"\u002F*---- 主函数main调用fun函数,将str字符串中的所有与字符变量ch中相同的字符去掉,最后输出str字符串.下面给定的程序存在错误,请改正. 注意:不得增行或删行,也不得更改程序的结构. -------------------------------------------------------*\u002F #include &lt;stdio.h&gt; void fun(char [], char ); int main() { char str[100], ch; gets(str); scanf(&quot;%c&quot;,&amp;ch); \u002F***********FOUND***********\u002F fun(str[],ch); printf(&quot;%s\\n&quot;,str); return 0; } void fun(char str[], char ch) { int i=0, j=0; while (str[i]!=0) { if (str[i]!= ch) { \u002F***********FOUND***********\u002F str[j++]=str[i++]; } i++; } \u002F***********FOUND***********\u002F str[i]='\\0'; }",{"answer":53,"createTime":5,"id":54,"options":55,"question":56,"source":22,"type":23},[],156319407,[],"\u002F*--- 函数int fun(long s, int w)返回长整型变量s中第w位的值,例如调用fun(236783,1) 函数返回3,调用fun(236783,2)函数返回8.主函数main从键盘接收一个长整数给变量s,通过调用fun函数求s奇数位之和,例如数236783各奇数位数字为3,7和3,它们的和为13. 请改正程序中的错误,使它能得出正确的结果. 注意:不得增行或删行,也不得更改程序的结构. -------------------------------------------------------*\u002F #include &lt;stdio.h&gt; unsigned fun(long , int ); int main() { \u002F***********FOUND***********\u002F unsigned tot, w; long s, step; printf(&quot; 输入一个长整数:&quot;); scanf(&quot;%ld&quot;, &amp;s); step = s; while (step!=0) { \u002F***********FOUND***********\u002F tot = fun( s ,w); w+=2; step \u002F=100; } printf(&quot;tot=%d\\n&quot;, tot); return 0; } unsigned fun(long s, int w) { int d; while(w&gt;0) { \u002F***********FOUND***********\u002F d %= 10; s \u002F=10; w--; } return d; }",{"answer":58,"createTime":5,"id":59,"options":60,"question":61,"source":22,"type":23},[],156319409,[],"\u002F*---- 函数max4()和max2()分别求出4个整数和2个整数的最大值. 下面给定的程序存在错误,请改正. 注意:不得增行或删行,也不得更改程序的结构. -------------------------------------------------------*\u002F #include &lt;stdio.h&gt; int max2(int ,int ); int max4(int ,int ,int ,int ); int main() { int a,b,c,d,max; printf(&quot;输入4个整数: &quot;); scanf(&quot;%d %d %d %d&quot;,&amp;a,&amp;b,&amp;c,&amp;d); \u002F***********FOUND***********\u002F max4(a, c, b, d); printf(&quot;最大数是 %d \\n&quot;,max); return 0; } int max4(int a,int b,int c,int d) { int m,n; m=max2(a,b); n=max2(c,d); \u002F***********FOUND***********\u002F return max4(m,n); } int max2(int a,int b) { \u002F***********FOUND***********\u002F return a&gt;=b? b: a; }",{"answer":63,"createTime":5,"id":64,"options":65,"question":66,"source":22,"type":23},[],156319411,[],"\u002F*---- 主函数main()调用递归函数move(int a[],int n,int m),实现将数组a中n个数据后移m位. 请改正程序中的错误,使它能得出正确的结果. 注意:不得增行或删行,也不得更改程序的结构. -------------------------------------------------------*\u002F #include &lt;stdio.h&gt; #define N 8 void move(int [],int,int); int main() { int num[N],m,i; printf(&quot;输入 %d 个数:\\n&quot;,N); for(i=0;i&lt;N;i++) \u002F***********FOUND***********\u002F scanf(&quot;%d&quot;,num[i]); printf(&quot;移动位数&quot;); scanf(&quot;%d&quot;,&amp;m); move(num,N,m); for (i=0;i&lt;N;i++) printf(&quot;%d &quot;,num[i]); printf(&quot;\\n&quot;); return 0; } void move(int a[],int n,int m){ int i,end; end=a[n-1]; for(i=n-1;i&gt;0;i--) a[i]=a[i-1]; \u002F***********FOUND***********\u002F a[1]=end; m--; if(m&gt;0) \u002F***********FOUND***********\u002F move(a,m,n); }"]