一.数的距离差
给定一组正整数,其中的最大值和最小值分别为max和min,其中的一个数x到max和min的距离差D定义为
abs(abs(x-max) - abs(x-min))。 其中,abs()表示求一个数的绝对值
输入
输入第一行为整数n,剩余n行每行一个正整数。 输出
输出仅一行,它的值为使得距离差D最小的x。 样例输入 5 3 1 7 5 9
样例输出
提示
函数abs()定义在stdlib.h中 例:(一) #include
int a[N],D[N];
int i,n,max,m,min,D_min; scanf(\for(i=0;i max=a[0]; for(i=1;i if(max max=a[i]; min=a[0]; for(i=1;i { if(min>a[i]) min=a[i]; } for(i=0;i { D[i]=abs(abs(a[i]-max)-abs(a[i]-min)); } D_min=D[0]; for(i=1;i if(D_min>D[i]) { D_min=D[i]; m=a[i]; } } printf(\ } (二) #include return 0; scanf(\for(i=0;i scanf(\ } p=m=a[0]; for(i=1;i if(m>a[i]) m=a[i]; if(p p=a[i]; } s=abs(abs(a[0]-p)-abs(a[0]-m)); t=a[0]; for(i=1;i printf(\return 0; { s=r; t=a[i]; } } 二、按位转换整数到英文单词 题目描述 请把输入整数的每位数字转换成英文。 如当输入1024时,输出:one, zero, two, four 输入 输入为一个整数 输出 按整数每一位输出其英文单词,单词间用逗号加空格分隔,单词由小写字母组成。 样例输入 20345 样例输出 two, zero, three, four, five 提示 注意:大家要考虑数据为“0”的情况,此时如果取对0取对数会出错 例:(一) #include while(n!=0) { k=n; n=n/10; a[j]=k; } j++; s=s+j; for(j=s-1;j>0;j--) { switch(a[j]) { case 0: printf(\ case 1: printf(\ case 2: printf(\ case 3: printf(\ case 4: printf(\ case 5: printf(\ case 6: printf(\ case 7 : printf(\ case 8 : printf(\ case 9 : printf(\ } } switch(a[0]) { case 0: printf(\ case 1: printf(\ case 2: printf(\ case 3: printf(\ case 4: printf(\ case 5: printf(\ case 6: printf(\ case 7 : printf(\ case 8 : printf(\ case 9 : printf(\ } return 0; } (二) #include scanf(\ i=0; if(m==0) printf(\ else while(m!=0) { a[i]=m; i++; m=m/10; } n=i-1; for(i=n;i>=0;i--) { if(i!=0) { } switch(a[i]) { case 0:printf(\ } case 1:printf(\case 2:printf(\case 3:printf(\case 4:printf(\case 5:printf(\case 6:printf(\case 7:printf(\case 8:printf(\case 9:printf(\ else { switch(a[i]) { case 0:printf(\case 1:printf(\case 2:printf(\case 3:printf(\case 4:printf(\case 5:printf(\case 6:printf(\case 7:printf(\case 8:printf(\case 9:printf(\