《C語(yǔ)言程序設(shè)計(jì)(第三版)習(xí)題庫(kù)答案》由會(huì)員分享,可在線(xiàn)閱讀,更多相關(guān)《C語(yǔ)言程序設(shè)計(jì)(第三版)習(xí)題庫(kù)答案(26頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、C語(yǔ)言程序設(shè)計(jì)(第三版)習(xí)題庫(kù)
1、設(shè)圓半徑r=1.5,圓柱高h(yuǎn)=3,求圓周長(zhǎng)、圓面積、圓球表面積、圓球體積、圓柱體積。用scanf輸入數(shù)據(jù),輸出計(jì)算結(jié)果,輸出時(shí)要求文字說(shuō)明,取小數(shù)點(diǎn)后兩位數(shù)字。請(qǐng)編程序。
#include
main(){
float r,h,C1,Sa,Sb,Va,Vb;
scanf(__”%f”__,&r);
scanf(”%d”,__&h_);;
C1=2*3.14*r;
Sa=3.14*r*r;
Sb=4*Sa;
Va=4*3.14*r*r*r/3;
Vb=Sa*h;
printf(___”C
2、l=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f”,Cl,Sa,Sb,Va,Vb);
}
2、輸入一個(gè)華氏溫度,要求輸出攝氏溫度。公式為 c=5(F-32)/9
輸出要求有文字說(shuō)明,取位2小數(shù)。
#include
main(){
float F,c;
scanf("%f",&F);
____c=5*(F-32)/9______;
printf("c=%.2f",c);
}
3、有一函數(shù): 寫(xiě)一程序,輸入x值,輸出y值。
#include
main(){
int x,y;
3、
printf("輸入x:");
scanf("%d",&x);
if(x<1) { /* x<1 */
y=x;
printf("x=%3d, y=x=%d\n",x,y);
} else if (____x<10_______){ /* 1≤x-10 */
_____y=2*x-1_______;
printf("x=%3d, y=2*x-1=%d\n",x,y);
} else{ /* x≥10 */
y=3*x-11;
printf("x=%3d,
4、 y=3*x-11=%d\n",x# include "stdio.h"
main()
{
int x,y;
scanf("%d",&x);
if(x<1)
{ y=x;}
else if(x>=1 && x<10)
{ y=2*x-1;}
else
{ y=3*x-11;}
printf("%d",y);
}# include "stdio.h"
main()
{
int x,y;
scanf("%d",&x);
if(x<1)
{ y=x;}
else if(x>=1 && x<10)
{ y=2*x-1;}
els
5、e
{ y=3*x-11;}
printf("%d\n",y);
}# include "stdio.h"
main()
{
int x,y;
scanf("%d",&x);
if(x<1)
{ y=x;}
else if(x>=1 && x<10)
{ y=2*x-1;}
else
{ y=3*x-11;}
printf("%d",y);
}scanf("%d",&x);
if(x<1)
{ y=x;}
else if(x>=1 && x<10)
{ y=2*x-1;}
else
{ y=3*x-11;} # inc
6、lude "stdio.h"
main()
{
int x,y;
scanf("%d",&x);
if(x<1)
y=x;
else if(x>=1 && x<10)
y=2*x-1;
else
y=3*x-11;
printf("%d",y);
},y);
}
}
4、給定一個(gè)不多于5位的正整數(shù),要求:① 求它是幾位數(shù);②按逆序打印出各位數(shù)字。例如原數(shù)為321,應(yīng)輸出123。
#include
main(){
long int num,m=0;
int i=0;
7、
scanf("%ld",&num);
while(num>0){
i++; /*統(tǒng)計(jì)長(zhǎng)度*/
m=m*10+num%10;
num =num/10;
}
printf("數(shù)字長(zhǎng)度為:%d",i);
printf("逆序數(shù)字為:%d\n",m);
}
5、以下程序?qū)崿F(xiàn)的功能:求三個(gè)數(shù)的最大值
#include
main(){
int a,b,c,max;
scanf("%d %d %d",&a,&b,&c);
if(a>b){
if(a>c) max=a;
8、
else max=c;
} else{
if(b>c) max=b;
else
max=c;
}
printf("max= %d",max);
}
#include
main(){
int x,y,z,t=0;
scanf("%d %d %d",&x,&y,&z);
if(x>y)
{t=y;y=x;x=t;}
if(x>z)
{t=z;z=x;x=t;}
if(y>z)
{t=
9、z;z=y;y=t;}
printf("%d\n",z);
}
6、輸入兩個(gè)正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)。
/*枚舉法*/
#include
main(){
long m,n,i=1,j,s;
scanf("%ld,%ld",&m,&n);
for(;i<=m&&i<=n;i++){
if(m%i==0&&n%i==0) s=i;
}
if(m>=n)j=m;
else j=n;
for(;!(j%m==0&&j%n==0);j++);
printf("s=%ld,j=%ld\n",s,j);
10、
}
#include
main(){
int a,b,k,temp,i,p;
scanf("%d,%d",&a,&b);
if(a>b)
temp=b;
else
temp=a;
for(i=2;i<=temp;i++)
{ if(a%i==0 && b%i==0)
k=i;
}
printf("%d\n",k);
p=a*b/k;
printf("%d\n",p);
}
/*輾轉(zhuǎn)相除*/
#include
m
11、ain(){
int m,n,k,j,p,r=1;
scanf("%d,%d",&m,&n);
k= m>n?m:n;
j= m>n? n:m;
do{
r=k%j;
k=j;
j=r;
}while(r!=0);
printf("%d,%d",k,m*n/k);
}
/*反復(fù)減法*/
#include
main(){
int m,n,k,j,p,r=1;
scanf("%d,%d",&m,&n);
k= m>n? m:n;
j= m>n?n:m;
do{
p=k-j;
if(j>p){ k=j; j=p;}
12、 else k=p;
}while(p!=0);
printf("%d,%d",k,m*n/k);
}
7、輸入一行字符,分別統(tǒng)計(jì)出其中英文字母、空格、數(shù)字和其他字符的個(gè)數(shù)。
#include"stdio.h"
main(){
char c;int i=0,j=0,k=0,l=0;
while((c=getchar())!=’\n’) {
if(c>=’A’&&c<=’Z’||c>=’a’&&c<=’z’)
i++; //英文字母統(tǒng)計(jì)
else if(c>=’0’&&c<=’9’)
j++; //數(shù)字統(tǒng)計(jì)
else if(c==’ ’
13、)
k++; //空格統(tǒng)計(jì)
else l++;
}
printf("i=%d,j=%d,k=%d,l=%d\n",i,j,k,l);
}
8、求Sn=a+aa+aaa+…+aa…aaa(有n個(gè)a)之值,其中a是一個(gè)數(shù)字。例如:2+22+222+2222+22222(n=5),n由鍵盤(pán)輸入。
#include
main(){
int a,n;
long b=0,sum=0;
scanf(“%d %d”,&a,&n);
for (i=1;i<=n;i++){
b = b*10+a;
14、
sum =sum+b;
}
printf (“%ld”,sum);
}
9、打印出所有"水仙花數(shù)",所謂"水仙花數(shù)"是指一個(gè)三位數(shù),其各位數(shù)字立方和等于該本身。例如:153是一個(gè)水仙花數(shù),因?yàn)?53=13+53+33。
【程序1】
#include
main(){
int i,m,n,k;
for(i=100;i<1000;i++){
m=__i%10__;
n=_ i/10%10__;
k=i/100;
if(__m*m*m+n*n*n+k*k*k==i__)
printf(
15、"%5d",i);
}
}
【程序2】
#include
main(){
int i,a,n,s;
for (i=100;i<=999;i++){
n=i;s=0;
while(n>0) {
a=__n%10__;
s+=a*a*a;
n /=__10__;
}
if (__s==i__) printf(“%d”,i);
}
10、一個(gè)數(shù)如果恰好等于它的因子之和,這個(gè)數(shù)就稱(chēng)為"完數(shù)"。例如,6的因子為1、2、3,而6=1+2+3,因此6是"完數(shù)"。編程序找出
16、1000之內(nèi)的所有完數(shù),并按下面格式輸出其因子: 6 its factors are 1、2、3
#include
main() {
int a,i,m;
for (a =1; a<=1000;a++) {
for (__i=1,m=0__; i <= a/2;i++)
if (!(a%i)) __m+=i__;
if (m==a) printf(“%4d”,a);
}
}
11、利用:p/4=1-1/3+1/5-1/7+….級(jí)數(shù)求p的值,直到最后一項(xiàng)的絕對(duì)值小于10-6為止。求絕對(duì)值的函數(shù)為fabs
17、()。
#__include__
#include
main(){
int i=1,flag=1;
double sum=0.0,s;
do{
s=__1.0/(2*i-1)__;
sum+=s*flag;
i++;
__flag=-flag__;
}while(__fabs(s)>1e-6__);/**/
printf("pi=%f",__4*sum__);
}
11、有一分?jǐn)?shù)序列:2/1,3/2,5/3, 求出這個(gè)數(shù)列的前20項(xiàng)之和。
18、
#include
#define N 20
main(){
int i=1;
double x=1,y=2, sum=0;
while(__i<=20__) {
sum=sum+__y/x__;
y = ___x+y__;
x = __y-x__;
i++;
}
printf("%f\n",sum);
}
12、一球從100米高度自由下落,每次落地后返回原高度的一半,再落下。求它在第10次落地時(shí)共經(jīng)過(guò)多少米?第10次反彈多高?
#include
main(){
int i,n=10;
d
19、ouble h=100,s=100;
for(i=2;i<=n;i++){
h*=__0.5__;
s=__s+h*2__;
}
printf("s=%f,h=%f\n",s,h);
}
13、猴子吃桃問(wèn)題。猴子第一天摘下若干個(gè)桃子,當(dāng)即吃了一半,還不過(guò)癮,又多吃了一個(gè)。第二天早上又將剩下的桃子吃掉一半,又多吃一個(gè)。以后每天早上都吃了前一天剩下的一半零一個(gè)。到第10天早上想再吃時(shí),見(jiàn)只剩下一個(gè)桃子了。求第一天共摘多少桃子。
#include
#define N 10
main(){
int i=1,sum=1;
20、
while(i++
#include
main(){
float x0,x1,a;
scanf("%f",&a);
x1=a/2;
do{
x0=x1;
x1=__(x0+a/x0)/2__;
} while(__x1>1e-5__);
printf("%g\n",x
21、1);
}
15、用牛頓迭代法求方程在1.5附近的根。
#include
#include ____
#define f(x) 2*x*x*x-4*x*x+3*x-6
main(){
double x,y;x=__1.5__;
do{
y = f(x);
x = x - y/(6*x*x-8*x+3);
} while(fabs(y)>1e-6);
printf("x=%.3f\n",x);
}
16、用二分法求方程在(-10,10)之間的根
#include
#includ
22、e
#define f(x) 2x*x*x-4*x*x+3*x-6
main(){
double x1=-10,x2=10,x,y;
do{
x=(x1+x2)/2;
y=f(x);
if(y<0) x1=x;
else x2=x;
}while(fabs(y)>1e-6);
printf("x=%g\n",x);
}
17、以下程序的功能是:輸入一個(gè)百分制成績(jī),輸出一個(gè)五級(jí)制成績(jī)等級(jí)。例如 輸入75,輸出 C。請(qǐng)完成填空
#include
main(){
int score;
sc
23、anf("__%d__",&score);
switch(__score/10__){
case 1:case 2:case 3:case 4:case 5:
printf(“grade E\n”); ___break__;
case 6: printf(“grade D\n”);break;
case 7: printf(“grade C\n”);break;
case 8: printf(“grade B\n”);break;
case 9: printf(“grade A\n”);break;
__default__:printf("E
24、rror input!\n");
}
}
18、該程序功能:對(duì)x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。
#include
#include
#define f(x) x*x-5*x+sin(x)
void main(){
int x; float max;
__max=f(1)__;
for(x=2;x<=10;x++)
__if(max
25、程序功能:輸入整數(shù)a和b的值,若a2+b2大于100,則輸出a2+b2百位以上的數(shù)字,否則輸出兩數(shù)之和。
#include
main(){
int a,b,s;
scanf("%d%d",&a,&b);
s=__a*a+b*b__;
if(s>100) printf("%d",__s/100__);
else printf("%d",___a+b__);
}
20、有1020個(gè)西瓜,第一天賣(mài)一半多兩個(gè),以后每天賣(mài)剩下的一半多兩個(gè),以下程序統(tǒng)計(jì)賣(mài)完所需的天數(shù)。
#include
main(){
int da
26、y,x1,x2;
day=0;x1=1020;
while(__x1>0__){
x2=__x1/2-2__; x1=x2; day++}
printf(“day=%d”,day);
}
21、找出整數(shù)的所有因子
#include
main(){
int i,x;
scanf(“%d”,&x);
i=1;
for ( ; __i<=x/2__;){
if (x%i==0) printf(%d”,i);
i++;
}
}
22、統(tǒng)計(jì)用數(shù)字0-9可以組成多少個(gè)各位上的數(shù)字沒(méi)有重復(fù)的3位偶數(shù)。
#include <
27、stdio.h>
main(){
int n=0,i,j,k;
for (i = 1;i <= 9;i++)
for (k = 0;k <= 8; __k+=2__)
if (k != i)
for (j = 0;j <= 9;j++)
if (__j!=i&&j!=k__) n++;
printf(“n=%d\n”,n);
}
23、用100元換成1、2、5元的所有兌換方案。
#include
main() {
int i,j,k,l=0;
for (i = 0; i<=
28、20;i++)
for (j =0; j<=50; j++) {
k= __(100-i-2*j)/5__;
if (__i+j*2+k*5==100__){
printf(“%2d %2d %2d”,i,j,k);
l = l + 1;
if (l%5==0) printf(“\n”);
}
}
}
24、輸出1-100之間滿(mǎn)足每位數(shù)的乘積大于每位數(shù)的和的數(shù)
#include
main() {
int n,k
29、=1,s=0,m;
for (n=1; n<=100; n++) {
k=1; s=0;
__m=n__;
while (__m>0__) {
k *=m%10;
s+=m%10;
___m/=10__;
}
if (k>s) printf(“%d”,n);
}
25、從3個(gè)紅球、5個(gè)白球、6個(gè)黑球中任意取出8個(gè)球,且其中必須有白球,輸出所有可能的方案。
#include
main() {
int i,j,k;
for (i=0;i<=3;i++
30、)
for (__j=1__; j<=5;j++) {
k = 8 – i – j;
if (__k>=0__)
printf(“%3d %3d %3d\n”,i,j,k);
}
}
26、以下程序的功能是:判斷一個(gè)四位數(shù)是否滿(mǎn)足這樣的條件:它的9倍剛好是它的反序數(shù)。反序數(shù)是指整數(shù)各個(gè)位上的數(shù)字逆序所形成的整數(shù)。請(qǐng)完成程序的填空。
#include
main(){
int i,a,b,c,d,m;
for(i=1000;;i++){
a=__i%
31、10__;
b=i/10%10;
c=i/100%10;
d=i/1000;
m=__a*1000+b*100+c*10+d__;
if(___m==i*9__) __break__;
}
printf("i=%d",i);
}
27、以下程序完成兩整數(shù)的交換。
#include
main(){
int a,b;
printf(“請(qǐng)依次輸入a,b的值:”);
scanf(“%d,%d”, __&a,&b__);
a=a+b;
32、 __b=a-b__;
__a=a-b__;
printf(“交換后:a=%d,b=%d”,a,b);
}
28、以下程序的功能是判斷輸入的年份是否為閏年,若是則輸出”yes”,否則輸出”No”。
#include
main(){
int year;
scanf(“%d”,&year);
if (__year%400==0||year%4==0&&year%100!=0__) printf(“yes”);
else printf(“No”);
}
29、以下程序利用冒泡排序法對(duì)輸入的10個(gè)數(shù)進(jìn)行排序。
#i
33、nclude
#define N 10
void main() {
int a[N];
int i,j,t;
printf(″input 10 numbers :\n″);
for (i=0;ia[i+1]__) {
t=a[i]; a[i]=a[i+1];
a[
34、i+1]=t;
}
printf(″the sorted numbers :\n″);
for(i=0;i
#define M 100 // 范圍
#define N ((M+1)
35、/2) // 奇數(shù)的個(gè)數(shù)
void main( ) {
int i,j,a[N];
a[0] = 2;
for(i=1;i
36、 /* 顯示得到素?cái)?shù) */
if(__a[i]!=0__) {
printf("%5d",a[i]);
if((++j)%10==0) /* 十個(gè)數(shù)換行 */
printf("\n");
}
}
getch();
}
31、用選擇法對(duì)10個(gè)整數(shù)從小到大排序。
#include
#define N 10
main(){
int a[N],i,j,k,t;
for (i=0;i
37、or(j=i+1;ja[k]__){
t=a[k]; a[k]=a[i];a[i]=t; }
}
for(i=0;i
main() {
int i=0,j=0,a[N][N],s1=0,s2=0;
for(i=0;i
38、or(j=0;j
39、N 10
#include
main() {
int i,t,a[N]={1,7,8,17,23,24,59,62,101};
scanf("%d",&t);
for(i=N-2;i>0;i--){
if(t
40、.h>
#define N 11
main(){
int i,a[N],tmp;
for(i=0;i
41、 5 7
4 9 2
要求打印出由1~n2的自然數(shù)構(gòu)成的魔方陣。
#define N 3
#include
main( ) {
int i,j,k,a[N][N];
/* 初始化魔方陣——置為0,作為有無(wú)數(shù)字的判斷*/
for(i=0;i
42、
__j+=1__;
if (i < 0 && j > N-1) {//到達(dá)右上角的位置
i=i+2; j--;
} else {
if(i<0)
i=__n-1__; //上一數(shù)的行數(shù)為0,下一數(shù)的行數(shù)為n-1
if(j>N-1)
j=0; //上一數(shù)的列數(shù)為n-1時(shí),下一數(shù)的列數(shù)為0
}
if(__a[i][j]!=0__){ //若下一數(shù)的位置上已經(jīng)有數(shù)字,
//則下一數(shù)存到上一個(gè)數(shù)行數(shù)加1的位置
43、
i=(i+2)%N;
j=(j -1 + N)%N;
}
a[i][j]= __k__; // 填數(shù)
}
for(i=0;i
#define M 5
#define N 4
main(){
44、
int a[M][N],i,j,x,y,k,max,min;//x,y分別是用來(lái)記錄鞍點(diǎn)的位置
int flag=0; //用于指示是否存在鞍點(diǎn)
for(i=0;i
45、r(k=0;k<5;k++)
if(min>a[k][y]) {x=k; __min=a[k][y]__;}
if(__i==k__) {
printf("a[%d][%d]=%d 是鞍點(diǎn)\n",x,y,a[x][y]);
flag=1;
}
}
if (flag ==0) printf(“不存在鞍點(diǎn)\n”);
}
37、有個(gè)15數(shù)按由小到大順序存放在一個(gè)數(shù)組中,輸入一個(gè)數(shù),要求用折半查找法找出該數(shù)組中第幾個(gè)元素的值。如果該數(shù)不在數(shù)組中,則打印出"無(wú)此數(shù)"
#include
#define N 15
main(){
int
46、 low,high,mid,x;
int a[N]={1,4,9,13,21,34,55,89,144,233,377,570,671,703,812};
low=0,high=N-1;
scanf("%d",&x);
do{
mid=__(low+high)/2__;
if(a[mid]==x) break;
else if(a[mid]
47、ow<=high) printf("x is the %dth number\n",mid+1);
else printf("x not exist in the array\n");
}
38、輸入一行字符,統(tǒng)計(jì)其中有多少個(gè)單詞,單詞之間用空格分隔開(kāi)。
#include
void main() {
char string[81];
int i,num=0,word=0;
char c;
gets(string);
for (i=0;(c=string[i]) __!=’\0’__;i++)
if(c==′ ′)
48、 word=0;
else if(word==0) {
word=__1__;
num++;
}
printf(″There are %d words in the line.\n″,num);
}
39、輸出10行的楊輝三角形。
1
1 1
1 2 1
1 3 3 1
……
#include
#define N 10
main(){
int i,n,k,a[N]={1};
printf(“%5d\n”,a[0]);
for(i=1;i
49、(j=i;j>=1;j--) a[j]= __a[j]+a[j-1]__;
for(j=0; __j<=i__;j++) printf(“%5d”,a[j]);
printf(“\n”);
}
}
40、以下程序的功能是:從鍵盤(pán)輸入一個(gè)整數(shù)n(n≤10)和n個(gè)整數(shù),存入數(shù)組a中,先依次輸出各個(gè)數(shù)組元素的值,然后找出最大值,并輸出。
#include
main(){
int a[10],n,i,j, __max__ ;
printf("輸入 n=");
scanf("%d",&n);
printf("
50、輸入各數(shù)組元素:");
for(i=0;imax) __max=a[i]__ ;
printf("最大值:%d\n",max);
}
41、以下程序?qū)崿F(xiàn)的功能是:將字符串s中所有的字符c刪除
51、。請(qǐng)完成程序填充
#include
#include
main(){
char s[80];
int i,j;
gets(s);
for(i=j=0; __s[i]!=’\0’__;i++)
if(s[i]!=c){
s[j]=s[i];
__j++__;
}
s[j]=\0;
puts(s);
}
42、以下程序的功能是:按順序讀入10名學(xué)生4門(mén)課程的成績(jī),計(jì)算出每位學(xué)生的平均分并輸出,請(qǐng)完成程序填充。
#include
#define N
52、 10
main(){
int n,k;
float score,sum,ave;
for(n=1;n<=N;n++){
__sum=0__;
for(k=1;k<=4;k++){
scanf("%f",&score);
__sum+=score__;
}
__sum/=4__;
printf("NO.%d:%f\n",n,ave);
}
}
43、本程序的功能是:輸入一串字符,將字符串中的字符反序輸出。
#inc
53、lude
#include <__string.h__>
main(){
int i,j,k;
char str[80];
gets(str);
for(i=0,j=__n-1__;i
54、
#include
void doubleRoots(double a,double b,double c){
double x1,x2,delta;
delta=__b*b-4*a*c__;
x1=(-b+sqrt(delta))/(2*a);
x2=(-b-sqrt(delta))/(2*a);
printf("Equation has two different roots:\n");
printf("x1=%g,x2=%g",x1,x2);
}
void SingleRoot(double a,double b,d
55、ouble c){
double x1;
x1= __-b/2/a__;
printf("Equation has two equal roots:\n");
printf("x1=x2=%g",x1);
}
void NoRoot(void){
printf("No real root found for the equation\n");
}
main(){
double a,b,c,delta;
scanf("%lf%lf%lf",&a,&b,&c);
delta=b*b-4*a*c;
if
56、(delta>0) __doubleRoots(a,b,c)__;
else if(delta<0) _NoRoot()__;
else __SingleRoot(a,b,c)__;
}
45、寫(xiě)一個(gè)判斷素?cái)?shù)的函數(shù),在主函數(shù)輸入一個(gè)整數(shù),輸出是否是素?cái)?shù)的消息。
#include
#include
void IsPrime(__int n__){
int i;
int k=sqrt(n);
for(i=2; __i<=k__;i++)
if(n%i==0) break;
if
57、(i>=k+1) printf("%dis Prime number\n",n);
else printf("%d is not Prime number\n",n);
}
main(){
int n;
scanf("%d",&n);;
IsPrime(__n__);
}
46、用牛頓迭代法求根。方程為ax3+bx2+cx+d=0,系數(shù)a,b,c,d由主函數(shù)輸入。求x在1附近的一個(gè)實(shí)根。求出后由主函數(shù)輸出。
#include
#include
double EquationRoot(double a
58、,double b,double c,double d){
double x,y;
x=1;
do{
y=a*x*x*x+b*x*x+c*x+d;
x=x-y/(3*a*x*x+2*b*x+c);
}while(__fabs(y)>1e-6__);
return __x__;
}
main(){
double a,b,c,d,x;
scanf("%lf %lf %lf %lf",&a,&b,&c,&d);
x=__EquationRoot(a,b,c,d)__;
print
59、f("x=%g",x);
}
47、輸入10個(gè)學(xué)生5門(mén)課的成績(jī),分別用函數(shù)求:①每個(gè)學(xué)生平均分;②每門(mén)課的平均分;③找出最高分所對(duì)應(yīng)的學(xué)生和課程;④求平均分方差:,其中xi為一學(xué)生的平均分。
#include
#define M 5
#define N 10
void EachStudentEverageMark(float a[][],int m,int n){
/*求每個(gè)學(xué)生的平均分。m-學(xué)生數(shù),n-課程數(shù)*/
int i,j;
float sum;
for(i=0;i
60、 for(j=0;j
61、 sum+=a[i][j];
printf("average mark of the %dth stu is%g\n",i+1,sum/n);
}
}
void MaxScore(float a[][],int m,int n){
/* 找出最高分所對(duì)應(yīng)的學(xué)生和課程*/
int i,j,s,t;
float max=a[0][0];s=0,t=0;
for(i=0;i
62、a[i][j];
s = i;
t = __j__;
}
}
printf("the %dth course and the %dth stu has the max\n",s,t);
}
void AverageVariance(float a[][],int m,int n){
/* 求平均分方差 */
float delta,ave,avesq=0,avesum=0;
int i,j;
for(i=0;i
63、j=0;j
64、 scanf("%f",&a[i][j]);
EachStudentEverageMark(a,M,N);
EachCourseEverageMark(a,M,N);
MaxScore(a,M,N);
AverageVariance(a,M,N);
}
48、寫(xiě)幾個(gè)函數(shù):①輸個(gè)職工的姓名和職工號(hào);②按職工號(hào)由小到大順序排序,姓名順序也隨之調(diào)整;③要求輸入一個(gè)職工號(hào),用折半法找出該職工的姓名,從主函數(shù)輸入要查找的職工號(hào),輸出該職工姓名。
#include
int num[100]; //職工號(hào)
char na
65、me[100][100]; //職工姓名
int count=0;
void informationInput(void){ //職工信息輸入
int i,n;
printf("how many do you want to input:\n");
scanf("%d",&n);
printf("please enter the name and numbers:\n");
for(i=count;inum[j+1]){