资源描述:
《第5章数组-习题答案.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1:/*编写程序,用筛选法求100之内的素数。*/#includevoidmain(){inti,j;for(i=2;i<100;i++){for(j=2;jvoidmain(){intnum,a,i=0;printf("输入一个数字");scanf("%d",&num);printf("正序输出则输入1反序输出输入0");scanf("%d",&a);sw
2、itch(a){case1:printf("%d",num);break;case0:while(0!=num){i=i*10+num%10;num=num/10;}printf("%d",i);break;default:printf("请输入0和1!!");break;}}3/*对于一个4X4矩阵逆时针旋转90度*/#includevoidmain(){inta[4][4],i,j,b[4][4];for(i=0;i<4;i++)for(j=0;j<4;j++)scanf("%d",&a[i][j]);for(i=0;i<4;i++)fo
3、r(j=0;j<4;j++){b[3-j][i]=a[i][j];}printf("逆时针旋转90度后:");for(i=0;i<4;i++){for(j=0;j<4;j++){printf("%d",b[i][j]);}printf("");}}4:/*将一个数组中的数据奇数放到前面,偶数放到后面。*/#includevoidmain(){inta[9],b[9],i,j=0,m=0;for(i=0;i<9;i++)scanf("%d",&a[i]);for(i=0;i<9;i++){if(a[i]%2!=0){b[j]=a[i];j+
4、+;}else{b[8-m]=a[i];m++;}}for(i=0;i<9;i++)printf("%d",b[i]);}5:/*输入一个4X4的矩阵,求四个边上元素的和。*/#includevoidmain(){inti,j,a[4][4],sum;printf("输入一个4阶方阵:");for(i=0;i<4;i++)for(j=0;j<4;j++)scanf("%d",&a[i][j]);sum=a[0][0]+a[0][3]+a[3][0]+a[3][3];printf("四个边上元素的和为%d",sum);}6:/*输入9个10
5、以内的自然数,将它们组成两个整数,求如何组合得到两个数的成绩最大或最小。*/#include#includevoidmain(){intj,k;inti;intt;inta=0,b=0;intflag=1;intnum[9];intmax,max_a,max_b;intmin,min_a,min_b;printf("输入9个10以内的自然数:");for(j=0;j<9;j++)scanf("%d",&num[j]);for(j=0;j<8;j++)for(k=0;k<8-j;k++)if(num[k]>num[k+1]){t=n
6、um[k+1];num[k+1]=num[k];num[k]=t;}for(i=1;i<511;i++){for(j=8;j>=0;j--){if((i&(int)pow(2.0,j))==0)a=a*10+num[j];elseb=b*10+num[j];}if(flag){max=a*b;max_a=a;max_b=b;flag=0;}if(max7、+1];num[k+1]=num[k];num[k]=t;}for(i=1;i<511;i++){for(j=8;j>=0;j--){if((i&(int)pow(2.0,j))==0)a=a*10+num[j];elseb=b*10+num[j];}if(flag){min=a*b;min_a=a;min_b=b;flag=0;}if(min>a*b){min=a*b;min_a=a;min_b=b;}a=0;b=0;}printf("最小的数为%dx%d=%d",min_a,min_b,min);printf("最大的数为%dx%d=%d",max_a
8、,max_