资源描述:
《上机实践复习.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、上机实践复习 一.数的距离差 给定一组正整数,其中的最大值和最小值分别为max和min,其中的一个数x到max和min的距离差D定义为 abs(abs(x-max)-abs(x-min))。其中,abs()表示求一个数的绝对值 输入 输入第一行为整数n,剩余n行每行一个正整数。输出 输出仅一行,它的值为使得距离差D最小的x。样例输入531759 样例输出 提示 函数abs()定义在中例:#include#include#defineN400intmain(){ inta[N],D[N];
2、 inti,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(
3、} #include#include#defineN500intmain(){inta[N],n,i,m,p,r,s,t; return0; 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;ir) } printf(return0; { s=r; t=a[i];} } 二、
4、按位转换整数到英文单词 题目描述 请把输入整数的每位数字转换成英文。 如当输入1024时,输出:one,zero,two,four输入 输入为一个整数 输出 按整数每一位输出其英文单词,单词间用逗号加空格分隔,单词小写字母组成。样例输入20345样例输出 two,zero,three,four,five提示 注意:大家要考虑数据为“0”的情况,此时如果取对0取对数会出错例:#include#defineN200intmain(){intn,k,j,s; inta[N];scanf( j=0; s=0;
5、 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]){ case0:printf(case1:printf(case2:printf(case3:printf( case4:printf( case5:printf(case6:printf(case7:printf( case8:printf( case9:printf( } } switch(a[0]) { case0:
6、printf( case1:printf(case2:printf( case3:printf(case4:printf( case5:printf( case6:printf(case7:printf( case8:printf( case9:printf( } return0;} #include#defineN500intmain(){intm,i,a[N],n; scanf( i=0; if(m==0) printf( else while(m!=0
7、){ a[i]=m;i++;m=m/10; }n=i-1; for(i=n;i>=0;i--){if(i!=0){ } switch(a[i]){case0:printf( } case1:printf(case2:printf(case3:printf(case4:printf(case5:printf(case6:printf(case7:printf(case8:printf(case9:printf( else{ switch(a[i]){ case0:printf
8、(case1:printf(case2:printf(case3:printf(case4:printf(case5:printf(case6:printf(case7:prin