实验4
1 #include<stdio.h> 2 #include<stdlib.h> 3 const int N = 4; 4 int main(){ 5 int a[N]={2,0,2,1}; 6 char b[N]={'2','0','2','1'}; 7 int i; 8 printf("sizeof(int)=%d\n",sizeof(int)); 9 printf("sizeof(char)=%d\n",sizeof(char)); 10 printf("\n"); 11 for(i=0;i<N;++i){ 12 printf("%x:%d\n",&a[i],a[i]);//输出数组a中每个元素的地址(以16进制显示)、元素的值 13 } 14 printf("\n"); 15 for(i=0;i<N;++i) 16 printf("%x:%c\n",&b[i],b[i]); 17 18 19 system("pause"); 20 return 0; 21 }
int 型数组a,内存中存放连续,每个元素占用4个字节
char型数组b,内存存放连续,每个元素占用1个字节、
1 #include<stdio.h> 2 #include<stdlib.h> 3 4 int main(){ 5 int a[2][3]={{1,2,3},{4,5,6}}; 6 char b[2][3]={{'1','2','3'},{'4','5','6'}}; 7 int i,j; 8 9 for(i=0;i<2;++i) 10 { 11 for(j=0;j<3;j++) 12 printf("%x:%d\n",&a[i][j],a[i][j]);//输出数组a中每个元素的地址(以16进制显示)、元素的值 13 } 14 printf("\n"); 15 16 for(i=0;i<2;++i) 17 { 18 for(j=0;j<3;j++) 19 printf("%x:%c\n",&b[i][j],b[i][j]); 20 } 21 system("pause"); 22 return 0; 23 }
int型二维数组a,在内存中按行连续存放,每个元素占4个字节
char型二维数组b,在内存中按行连续存放,每个元素占1个字节。
1 #include<stdio.h> 2 #include<stdlib.h> 3 #define N 1000 4 int fun(int n,int m, int bb[N]) 5 { 6 int i,j,k=0,flag; 7 for(j=n;j<=m;j++) 8 {flag=1; 9 10 for(i=2;i<j;i++) 11 if(j%i==0) 12 { 13 flag=0; 14 break; 15 } 16 if(i==j) 17 bb[k++]=j; 18 } 19 return k; 20 } 21 22 int main(){ 23 int n=0,m=0,i,k,bb[N]; 24 scanf("%d",&n); 25 scanf("%d",&m); 26 27 for(i=0;i<m-n;i++) 28 bb[i]=0; 29 k=fun(n,m,bb); 30 31 for(i=0;i<k;i++) 32 printf("%4d",bb[i]); 33 system("pause"); 34 return 0; 35 }
1 #include<stdio.h> 2 #include<stdlib.h> 3 const int N = 5; 4 int find_max(int x[],int n); 5 void input(int x[],int n); 6 void output(int x[],int n); 7 int main(){ 8 int a[N]; 9 int max; 10 11 input(a,N); 12 output(a,N); 13 max=find_max(a,N); 14 printf("max=%d\n",max); 15 16 17 system("pause"); 18 return 0; 19 } 20 void input(int x[],int n){ 21 int i; 22 for(i=0;i<n;i++) 23 scanf("%d",&x[i]); 24 printf("\n"); 25 } 26 void output(int x[],int n){ 27 int i; 28 for(i=0;i<n;i++) 29 printf("% d",x[i]); 30 printf("\n"); 31 } 32 int find_max(int x[],int n) 33 { 34 int a=0,i; 35 for(i=0;i<N;i++){ 36 if(a<x[i]) 37 {a=x[i];} 38 } 39 return a;}
1 #include<stdio.h> 2 #include<stdlib.h> 3 4 void dec2n(int x,int n); 5 int main(){ 6 int x; 7 printf("输入一个十进制整数:"); 8 scanf("%d",&x); 9 dec2n(x,2); 10 dec2n(x,8); 11 dec2n(x,16); 12 13 14 15 return 0; 16 } 17 18 void dec2n(int x,int n) 19 { 20 int a[100]; 21 int i=0; 22 if(n==2) 23 { 24 for(;x>0;x=x/2) 25 {i++; 26 if(x%2==0) a[i]=0; 27 else a[i]=1; 28 } 29 30 int c; 31 for(i;i>0;i--) 32 { 33 printf("%d",a[i]); 34 } 35 printf("\n"); 36 } 37 38 if(n==8){ 39 printf("%o",x); 40 printf("\n"); 41 } 42 if(n==16){ 43 printf("%x",x); 44 printf("\n"); 45 } 46 47 }
#include<stdio.h> #include<stdlib.h> int main() { int a[10][10]; int n,i,j,z; scanf("%d",&n); for(z=n;z>=0;z--) { for(j=0;j<n;j++) { a[z][j]=z+1; a[j][z]=z+1; } } for(i=0;i<n;i++) { for(j=0;j<n;j++){ printf("%d ",a[i][j]); }printf("\n"); } return 0; }