实验四
#include<stdio.h> const int N = 4; int main() { int a[N]={2,0,2,1}; char b[N]={'2','0','1','1'}; int i; printf("sizeof(int) = %d\n",sizeof(int)); printf("sizeof(char) = %d\n",sizeof(char)); printf("\n"); for(i=0;i<N;++i) printf("%x:%d\n",&a[i],a[i]); printf("\n"); for(i=0;i<N;++i) printf("%x:%c\n",&b[i],b[i]); return 0; }
int型连续存放,每个元素占四个字节
char 型连续存放,每个元素占一个字节
#include<stdio.h> int main() { int a[2][3]={{1,2,3},{4,5,6}}; char b[2][3]={{'1','2','3'},{'4','5','6'}}; int i,j; printf("sizeof(int) = %d\n",sizeof(int)); printf("sizeof(char) = %d\n",sizeof(char)); printf("\n"); for(i=0;i<2;++i) for(j=0;j<3;j++) printf("%x:%d\n",&a[i][j],a[i][j]); printf("\n"); for(i=0;i<2;++i) for(j=0;j<3;j++) printf("%x:%c\n",&b[i][j],b[i][j]); return 0; }
int型二维数组连续存放,每个元素占四个字节
char 型二维数组连续存放,每个元素占一个字节
#include<stdio.h> #define N 1000 int fun(int n,int m,int bb[N]) { int i,j,k=0,flag; for(j=n;j<=m;j++) { flag=1; for(i=2;i<j;i++) if(j%i==0) { flag=0; break; } if(flag==1) bb[k++]=j; } return k; } int main() { int n=0,m=0,i,k,bb[N]; scanf("%d",&n); scanf("%d",&m); for(i=0;i<m-n;i++) bb[i]=0; k=fun(n,m,bb); for(i=0;i<k;i++) printf("%4d",bb[i]); return 0; }
#include<stdio.h> const int N = 5; int find_max(int x[],int n); void input(int x[],int n); void output(int x[],int n); int main() { int a[N]; int max; input(a,N); output(a,N); max = find_max(a,N); printf("max = %d\n",max); return 0; } void input(int x[],int n) { int i; for(i=0;i<n;i++) scanf("%d",&x[i]); } void output(int x[],int n) { int i; for(i=0;i<n;i++) printf("%d ",x[i]); printf("\n"); } int find_max(int x[],int n) { int i,max=0; for(i=0;i<n;i++) { if(x[i]>max) max=x[i]; } return max; }
#include<stdio.h> void dec2n(int x,int n); int main() { int x; printf("输入一个十进制整数:"); scanf("%d",&x); dec2n(x,2); dec2n(x,8); dec2n(x,16); return 0; } void dec2n(int x,int n) { int N=32,i=0; char A,B,C,D,E,F; int a[N]; while(x>0) { a[i]=x%n; i++; x=x/n; } for(;i>0;i--) { if(a[i-1]<10) printf("%d",a[i-1]); else if(a[i-1]==10) printf("%c",'A'); else if(a[i-1]=11) printf("%c",'B'); else if(a[i-1]==12) printf("%c",'C'); else if(a[i-1]==13) printf("%c",'D'); else if(a[i-1]==14) printf("%c",'E'); else if(a[i-1]==15) printf("%c",'F'); } printf("\n"); }
#include<stdio.h> int main() { int n,i,j,k; printf("Enter n:"); while(scanf("%d",&n)!=EOF&&n>0) { for(i=1;i<=n;i++) { for(j=1;j<=n;j++) { k=i>j?j:i; printf("%d ",k); } printf("\n"); } printf("\n"); printf("Enter n:"); } return 0; }