当前位置:文档之家› 高级语言程序设计实验5_数组(完美运行版)

高级语言程序设计实验5_数组(完美运行版)

《高级语言程序设计》实验报告实验序号:5 实验项目:数组附源程序清单:1. #include <stdio.h>main(){int a[100],b[100],x[100],i,j=0,k,l=0;printf("请输入数组x的个数:");scanf("%d",&k);printf("请输入数组x中的整数,用空格隔开:");for(i=0;i<k;i++)scanf("%d",&x[i]);for(i=0;i<k;i++){if(x[i]>0){a[j]=x[i];j++;}else if(x[i]<0){b[l]=x[i];l++;}}printf("数组a:");for(i=0;i<j;i++)printf("\t%d",a[i]);printf("\n数组b:");for(i=0;i<l;i++)printf("\t%d",b[i]);printf("\n");}2.#include <stdio.h>#include <stdlib.h>int main(){int array[1000];int i=0, iter=0;for(i=0;i<1000;i++)array[i]=i+1;array[0]=0;iter=1;while(iter<1000){if(array[iter]!=0)for(i=iter+1;i<1000;i++){if( array[i]%array[iter]==0)array[i]=0;}iter++;}for(i=0;i<1000;i++)if(array[i]!=0)printf("%d\t",array[i]);printf("\n");}3.#include"stdio.h"#include"string.h"main(){char a[100];int i,j=0;printf("输入一串测试字符:\n");scanf("%s",&a);for(i=0;i<strlen(a);i++){if(!(a[i]>='0' && a[i]<='9')){a[j]=a[i];j++;}}printf("输出字符串为:%s",a);printf("\n");}4. #include <stdio.h>#define N 10main(){int a[N]={10,2,8,22,16,4,10,6,14,20},b[N],i,j;for(j=1;;j++){for(i=9;i>0;i--){if(a[i]%2==0&&a[i-1]%2==0) b[i-1]=a[i-1]/2+a[i]/2;else if(a[i]%2==0&&a[i-1]%2!=0) b[i-1]=(a[i-1]+1)/2+a[i]/2;else b[i-1]=(a[i-1]+1)/2+(a[i]+1)/2;}if(a[0]%2==0&&a[9]%2==0) b[9]=a[9]/2+a[0]/2;else if(a[0]%2==0&&a[9]%2!=0) b[9]=(a[9]+1)/2+a[0]/2;else b[9]=(a[9]+1)/2+(a[0]+1)/2;for(i=0;i<10;i++)a[i]=b[i];for(i=0;i<9;i++){if(a[i]==a[i+1]) continue;else i=11;}if(i==9){printf("需要调整%d次\n",j);printf("每个人各有%d块糖\n",a[0]);break;}}}5. #include <stdio.h>main(){int n,m,k,a[2][10],i=0;printf("请输入第一个数字:\n");for(n=0;n<10;n++)scanf("%d",&a[0][n]);getchar();}printf("请输入第二个数字:\n");for(m=0;m<10;m++){scanf("%d",&a[1][m]);getchar();}for(k=0;k<10;k++){if(a[0][k]>a[1][k]){printf("第一个数字较大.\n");break;}else if(a[0][k]<a[1][k]){printf("第二个数字较大.\n");break;}else if(a[0][k]=a[1][k])i++;}if(i==9)printf("两数字相等.\n");}6. #include "stdio.h"void main(){int sum=0,a[5][5],i,j;printf("请输入5行5列矩阵数字:\n");for(i=0;i<5;i++){for(j=0;j<5;j++){scanf("%d",&a[i][j]);}}for(i=0;i<5;i++){sum+=a[0][i];}for(i=0;i<5;i++){sum+=a[i][0];}for(i=0;i<5;i++){sum+=a[4][i];}for(i=0;i<5;i++){sum+=a[i][4];}sum=sum-a[0][0]-a[0][4]-a[4][0]-a[4][4];printf("最外圈元素之和为%d\n",sum);}7. #include<stdio.h>#include<stdlib.h>#define N 3main(){int a[N][N],i,j,k=0,score=0;srand(time(0));while(getchar()==121){i=getchar();for(i=0;i<N;i++){for(j=0;j<N;j++){a[i][j]=rand()%3;if(a[i][j]==0) printf("\1");else if(a[i][j]==1) printf("*");else printf("#");}printf("\n");}{for(i=0;i<N;i++){if(a[i][0]==a[i][1] && a[i][1]==a[i][2]) score++;if(a[0][i]==a[1][i] && a[1][i]==a[2][i]) score++;}if(a[0][0]==a[1][1] && a[1][1]==a[2][2]) score++;if(a[0][2]==a[1][1] && a[1][1]==a[2][0]) score++;}if(k==2) {printf("你的得分是:%d.\n",score);break;}else k++;}}8. 附加题:#include<stdio.h>#include<string.h>main(){char a[100],b[100];char str1[100],str2[100];scanf("%s%s",str1,str2);strcpy(a,strlen(str1)<strlen(str2)?str1:str2);strcpy(b,strlen(str1)>strlen(str2)?str1:str2);printf("a = %s\n",a);printf("b = %s\n",b);}附加2:#include"stdio.h"#define N 100main(){int a[N][N]={0},b,c,i,j;printf("请输入3到39间的奇数:\n");scanf("%d",&c);if(0<c<39 && c%2==1){b=c/2;for(i=0;i<c;i++){for(j=0;j<c;j++){if (i+j==b) a[i][j]=1;if (i-j==b) a[i][j]=1;if (j-i==b) a[i][j]=1;if (i+j==b*3) a[i][j]=1;}}for(i=0;i<c;i++){for(j=0;j<c;j++){printf("%d ",a[i][j]);}printf("\n");}}else printf("错误输入,请输入3到39间的奇数。

\n"); }。

相关主题