給定程序MODI1.C中函數 fun 的功能是:求出數組中最大數和次最大數,并把最大數和a[0]中的數對調、次最大數和a[1]中的數對調。請改正程序中的錯誤,使它能得出正確的結果。 注意:不要改動 main 函數,不得增行或刪行,也不得更改程序的結構! 給定源程序:
#include<stdio.h>#define N 20 int fun (int* a,int n ){int i, m, t, k ;for(i=0;i<2;i++){
m=0;for(k=i+1;k<n;k++)if(a[k]>a[m]) k=m;
t=a[i];a[i]=a[m];a[m]=t;}}main(){int x, b[N]={11,5,12,0,3,6,9,7,10,8}, n=10, i;for( i=0; i<n; i++)printf("%d ", b[i]);printf("\n");
fun ( b, n );for( i=0; i<n; i++)printf("%d ", b[i]);printf("\n");}
請編寫一個函數 unsigned fun ( unsigned w ),w 是一個大于10的無符 號整數,若 w 是 n (n ≥ 2)位的整數,函數求出w的低 n-1位的數作為函數值返回。 例如:w 值為 5923,則函數返回 923; w 值為 923 則函數返回 23。 注意: 部分源程序存在文件PROG1.C中。 請勿改動主函數main和其它函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。 給定源程序:
#include<stdio.h>unsigned fun (unsigned w ){}main(){unsigned x;
printf ("Enter a unsigned integer number : "); scanf ("%u",&x );
printf ("The original data is : %u\n", x );if( x <10) printf ("Data error !");else printf ("The result : %u\n", fun ( x ));NONO();}