4.4 程序設計題
1.編程序,輸入單精度型一維數組 a[10] ,計算并輸出 a數組中所有元素的平均值。
【解】為了計算數組元素的平均值,首先要累計它的全部元素的和,然后除以數組元素的個數,即得數組元素的平均值。寫成C程序如下:
# include
main()
{ int i, n=10;
float s,a[10] ;
printf("Enter %d numbers! \n", n);
for( i=0;i< n; i++)
{ scanf("%f",&s); a[i]= s;
}
for(s=0.0,i=0;i
s /=n;
printf("平均值是%.2f\n", s);
}
2.編程序,輸入10個整數存入一維數組,再按逆序重新存放后再輸出。
【解】將數組的元素逆序重新存放,就是將數組的首尾對應元素兩兩交換。簡單地可用兩個游標變量i和j,i是前端元素的下標,j是后端元素的下標,交換以這兩個變量值為下標的數組元素。開始時,i的值為0,j的值為末元素的下標。每次交換后,i增1,j減1。繼續(xù)交換的
條件是i
main()
{ int a[10], i,j,t,n=10;
printf("Enter %d numbers! \n", n);
for(i=0;i
for(i=0,j=n-1;i
}
for(i=0; i
printf("\n");
}
3.編程序,輸入兩個字符串(<40個字符) ,連接后輸出(不準用系統函數) 。
【解】將字符串s2連接到字符串s1的計算過程可分兩個步驟完成。首先找到字符串s1的末尾,然后參照字符串s2,將字符串s2的全部有效字符逐一復制到字符串s1,最后在字符串s1的末尾接上字符率結束標記符。完整程序如下:
# include
# define N 40
main()
{ char s1[N] ,s2[N];
int i,j;
printf("Enter stringl!\n");
scanf("%s",s1);
printf("Enter string2! \n");
scanf("%s", s2);
for(i=0; sl[i]!=’\0’ ; i++) ;
for(j=0;s2[j]!=’\0’ ;i++,j++)
so[i]=s[j] ;
s1[i]=’\0’
printf("sl=%s\n" ,sl);
}
4.編程序按下列公式計算S的值(其中X1、X2、…、Xn由鍵盤輸入):
s=∑(xi-x0)(xi-x0) (其中x0是X1、x2、…、Xn的平均值)
【解】輸入數組x的n個元素的值,按公式計算。程序首先輸入n,設n<100,然后輸入n個數據,接著求它們的平均值,最后按計算公式求出s,并輸出。程序如下:
# include
# define N 100
main()
{ double x[N+1], s;
int i,n;
do {
printf("Enter n(<100)"); scanf("%d", &n);
} while(<=0||n>=100);
for(i=1; i<=n;i++){
scanf("%lf", &s);x[i]=s;
}
for(s=0.0,i=1;i<=n; i++)
s+=x[i] ;
x[0] = s/n;
for(s=0.0, i=1;i<= n;i++)
s+=(x[i]-x[0])*(x[i]-x[0]);
printf("s=%f\n", s);
}
5.輸入一個3X5的整數矩陣,輸出其中最大值、最小值和它們的下標。
【解】輸入一個二維數組,尋找二維數組的最大值和最小值。其中尋找最大值和最小值的工作可用兩重循環(huán)實現,即按行按列考察二維數組的元素。程序如下:
# include
main()
{ int a[3][5], i,j,t,n=3, m=5,
min,max, minrow, mincol, maxrow, maxcol;
printf("Enter %d*%d numbers !\n" , n,m);
for(i=0; i
}
min=max=a[[0][0]; minrow=mincol=maxrow=maxcol=0;
for(i=0;i
max= a[i][j] ;maxrow= i;maxcol=j ;
}
if( a[i][j]
}
}
printf("MAX=a[%d][%d] =%d MIN= a[%d][%d] =%d \n",
maxrow,maxcol,max,minrow,mincol,min) ;
}
更多軟考資料請訪問:考試吧軟件水平考試欄目
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |