1.数组编程 (3)某歌手大赛,共有10个评委给歌手打分,分数采用百分制,去掉一个最高 分,去掉一个最低分,然后取平均分,得到歌手的成绩。10个分数由键盘输入, 编写程序计算某歌手的成绩。 float calculates(float s[10]) int float max=s[OL, min=s[O], sum=0, ave for(i=0;lmax)max=s[]: if(s[i]<min )min=[i] sum=sum+s[] ave=( sum-max-min/8 return(ave) int is float score, s[ 10]; printf( \nplease input the 10 scores: n") for(i=0;<10;i+ scanf( %f, &s[i: score=calculates(s) printf( \ nThe singers score is %f score) (4)有一个一维数组包含10个元素,编写程序将其中的值按逆序重新存放。即 第一个元素和最后一个元素交换位置,第二个元素和倒数第二个元素交换位置 依次类推 #definen 10 ma int i,j, a[N], m, n, temp: printf( " \nPlease input %d integer: \n",n; for(i=0; K<N; i++) scanf(%d"&[D (N-1)/2 for(i=0; i<=m; i++) j=N-1; temp=a[j]:
1.数组编程 (3) 某歌手大赛,共有 10 个评委给歌手打分,分数采用百分制,去掉一个最高 分,去掉一个最低分,然后取平均分,得到歌手的成绩。10 个分数由键盘输入, 编写程序计算某歌手的成绩。 float calculates(float s[10]) { int i; float max=s[0],min=s[0],sum=0,ave; for(i=0;imax) max=s[i]; if(s[i]<min) min=s[i]; sum=sum+s[i]; } ave=(sum-max-min)/8; return(ave); } main() { int i; float score,s[10]; printf("\nPlease input the 10 scores:\n"); for(i=0;i<10;i++) scanf("%f",&s[i]); score=calculates(s); printf("\nThe singer's score is %f",score); } (4) 有一个一维数组包含 10 个元素,编写程序将其中的值按逆序重新存放。即 第一个元素和最后一个元素交换位置,第二个元素和倒数第二个元素交换位置, 依次类推。 #define N 10 main() { int i,j,a[N],m,n,temp; n=N; printf("\nPlease input %d integer:\n",n); for(i=0;i<N;i++) scanf("%d",&a[i]); m=(N-1)/2; for(i=0;i<=m;i++) { j=N-1-i; temp=a[i];
a[]=al]: al]=temp; printf( nthe array has been inverted: n"; for(i=0; i=0) ai+1]=a[; a[i+1]=num printf( " \nThe result is: \n); for(i=0;<11;|++) printf("°%d",a[i]); (8)输入一个M行M列的二维数组,分别计算四周元素及两条对角线上的元素 之和。M由下面的符号常量定义 # define M 5 #define m 5 maino int a[MI[M],ij, m, n,sum1=0, sum2=0 m=M; printf( "\nPlease input %d numbers: \n",m*m) for(i=0; K<M; i++) for=0; j<M;j++) scanf(%d",&a[GD printf( \nThe array is: n);
a[i]=a[j]; a[j]=temp; } printf("\nThe array has been inverted:\n"); for(i=0;i=0) { a[i+1]=a[i]; i--; } a[i+1]=num; printf("\nThe result is:\n"); for(i=0;i<11;i++) printf("%d ",a[i]); } (8) 输入一个 M 行 M 列的二维数组,分别计算四周元素及两条对角线上的元素 之和。M 由下面的符号常量定义: #define M 5 #define M 5 main() { int a[M][M],i,j,m,n,sum1=0,sum2=0; m=M; printf("\nPlease input %d numbers:\n",m*m); for(i=0;i<M;i++) for(j=0;j<M;j++) scanf("%d",&a[i][j]); printf("\nThe array is:\n");
for(i=0; K=65&&aJ]=97&&a[0]=48&&a[0]<=57)number++i else if(a[G]==32) space++ else other++ else break. printf("n%d: alpha: %d, lalpha: %d, number: %d space: %d, other: %d",i, ualpha lalpha, number, space, other);
for(i=0;i=65&&a[i][j]=97&&a[i][j]=48&&a[i][j]<=57) number++; else if(a[i][j]==32) space++; else other++; } else break; } printf("\n%d:ualpha:%d,lalpha:%d,number:%d,space:%d,other:%d",i,ualpha ,lalpha,number,space,other); }
(13)从键盘输入一个字符串,分别输出其完全大写和完全小写的形式。 #indlude maino char str[20], low[20], up[20]; int i; printf("nPlease input a string: ) gets(str) printf( " \nThe letter list is: \n ) puts(str ) while(str[!=0) if(str[>=65&&str[门]=97&&str[]<=122) low[=str[]: up[i]=str[]-32; ++; printf( "\nThe result is: n") puts(up; puts(low )
} (13) 从键盘输入一个字符串,分别输出其完全大写和完全小写的形式。 #include main() { char str[20],low[20],up[20]; int i; printf("\nPlease input a string:"); gets(str); printf("\nThe letter list is:\n"); puts(str); i=0; while(str[i]!='\0') { if(str[i]>=65&&str[i]=97&&str[i]<=122) { low[i]=str[i]; up[i]=str[i]-32; } i++; } printf("\nThe result is:\n"); puts(up); puts(low); }