/*------------------------------------------------【程序设计】1--------------------------------------------------功能:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的十位和千位上。例如:当a=45,b=12,调用该函数后,c=2514。------------------------------------------------*/#includestdio.hvoidfun(inta,intb,long*c){/**********Begin**********/*c=a/10+a%10*100+b/10*10+b%10*1000;/**********End**********/}main(){inta,b;longc;printf(Inputa,b:);scanf(%d%d,&a,&b);fun(a,b,&c);printf(Theresultis:%ld\n,c);NONO();}NONO(){FILE*rf,*wf;inti,a,b;longc;rf=fopen(in.dat,r);wf=fopen(out.dat,w);for(i=0;i10;i++){fscanf(rf,%d,%d,&a,&b);fun(a,b,&c);fprintf(wf,a=%d,b=%d,c=%ld\n,a,b,c);}fclose(rf);fclose(wf);}------------------------------------------------【程序设计】2--------------------------------------------------功能:请编一个函数voidfun(inttt[M][N],intpp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中。二维数组中的数已在主函数中赋予。------------------------------------------------*/#includeconio.h#includestdio.h#defineM3#defineN4voidfun(inttt[M][N],intpp[N]){/**********Begin**********/inti,j;for(j=0;jN;j++){pp[j]=tt[0][j];for(i=1;iM;i++)if(tt[i][j]pp[j])pp[j]=tt[i][j];}/**********End**********/}voidNONO();main(){intt[M][N]={{22,45,56,30},{19,33,45,38},{20,22,66,40}};intp[N],i,j,k;printf(Theoriginaldatais:\n);for(i=0;iM;i++){for(j=0;jN;j++)printf(%6d,t[i][j]);printf(\n);}fun(t,p);printf(\nTheresultis:\n);for(k=0;kN;k++)printf(%4d,p[k]);printf(\n);NONO();}voidNONO(){inti,j,array[3][4],p[4];FILE*rf,*wf;rf=fopen(in.dat,r);wf=fopen(out.dat,w);for(i=0;i3;i++)for(j=0;j4;j++)fscanf(rf,%d,&array[i][j]);fun(array,p);for(j=0;j4;j++){fprintf(wf,%7d,p[j]);fprintf(wf,\n);}fclose(rf);fclose(wf);}/*-------------------------------------------------------【程序填空】1---------------------------------------------------------功能:编程求任意给两个日期(Y0年M0月DO日和Y1年M1月D1日)相差的天数。-------------------------------------------------------*/main(){inty1,m1,d1,y2,m2,d2,n,i;printf(y1,m1,d1=);scanf(%d,%d,%d,&y1,&m1,&d1);/**********FILL**********/if(m11||m112||d11||d1_mday(y1,m1)____)exit(0);printf(y2,m2,d2=);scanf(%d,%d,%d,&y2,&m2,&d2);/**********FILL**********/if(m21||m212||d21||d2__mday(y2,m2)___)exit(0);if(y1y2||y1==y2&&m1m2||y1==y2&&m1==m2&&d1d2){n=y1;y1=y2;y2=n;n=m1;m1=m2;m2=n;n=d1;d1=d2;d2=n;}else{/**********FILL**********/n=yend(y1,m1,d1)+____yday(y2,m2,d2)_;/**********FILL**********/for(i=__y1+1___;iy2;i++)n+=365+f(i);}printf(%d.%d.%d---%d.%d.%d:n=%d\n,y1,m1,d1,y2,m2,d2,n);}intf(inty){return(y%4==0&&y%100!=0||y%400==0);}intmday(inty,intm){return(31-((m==4)+(m==6)+(m==9)+(m==11))-(3-f(y))*(m==2));}intyday(inty,intm,intd){return(d+31*((m1)+(m3)+(m5)+(m7)+(m8)+(m10))+30*((m4)+(m6)+(m9)+(m11))+(28+f(y))*(m2));}intyend(inty,intm,intd){return(365+f(y)-yday(y,m,d));}/*-------------------------------------------------------【程序填空】2---------------------------------------------------------功能:请编写一个函数fun,将字符数组ss中字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。-------------------------------------------------------*/#includestdio.h#includestring.hvoidfun(charss[]){inti,d;d=strlen(ss);/**********FILL************/for(i=1;id;_i=i+2____){if(ss[i]='a'&&ss[i]='z')/**********FILL************/___ss[i]=ss[i]-32__;}}main(){chara[80];printf(给字符串赋值:\n);gets(a);printf(输出原字符串:\n);puts(a);/**********FILL************/___fun(a)__;printf(输出原字符串:\n);puts(a);}/*------------------------------------------------------【程序改错】1--------------------------------------------------------功能:为一维数组输入10个整数;将其中最小的数与第一个数对换,将最大的数与最后一个数对换,输出数组元素。------------------------------------------------------*/main(){inta[10];voidinput();voidoutput();voidmax_min();input(a,10);max_min(a,10);output(a,10);}voidinput(int*arr,intn){int*p,i;p=arr;printf(pleaseenter10integers:\n);for(i=0;in;i++)/**********ERROR**********/scanf(%d,p);}voidmax_min(int*arr,intn){int*min,*max,*p,t;min=max=arr;for(p=arr+1;parr+n;p++)/**********ERROR**********/if(*p*max)max=p;elseif(*p*min)min=p;t=*arr;*arr=*min;*min=t;/**********ERROR**********/if(max=arr)max=min;t=*(arr+n-1);*(arr+n-1)=*max;*max=t;}voidoutput(int*arr,intn){int*p,i;p=arr;printf(Thechangedarrayis:\n);/**********ERROR**********/while(i=0;in;i++)printf(%3d,*p++);printf(\n);}【改错1】错误【学生答案】scanf(%d,p);【参考答案】scanf(%d,p++);scanf(%d,arr[i]);scanf(%d,p+i);scanf(%d,arr+i);============================================================【改错2】错误【学生答案】if(*p*max)【参考答案】if(*p*max)if(*max*p)============================================================【改错3】错误【学生答案】if(max=arr)max=min;【参考答案】if(max==arr)============================================================【改错4】错误【学生答案】while(i=0;in;i++)【参考答案】for(i=0;in;i++)for(i=0;ni;i++)for(p=arr;parr+n;)for(i=0;i=n-1;i++)for(i=0;n-1=i;i++)for(p=arr;p=arr+n-1;)for(p=arr;arr+n-1=p;)/*------------------------------------------------------【程序改错】2--------------------------------------------------------功能:统计出若干个学生的平均成绩,最低分以及得最低分的人数。例如:输入10名学生的成绩分别为92,87,68,56,92,84,67,75,92,66,则输出平均成绩为77.900002,最低高分为56.000000,得最低分的人数为1人。------------------------------------------------