#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]); for(i=0;i<N;i++) printf("%x: %c\n",&b[i],b[i]); return 0; }
1.是 4个字节
2.是 1个字节
#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; 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; }
1.是 4 个
2.是 1 个
#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; }
#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); // 调用input完成数组输入 output(a, N); // 调用output输出数组元素值 max = find_max(a, N); // 调用find_max查找数组a的最大值 printf("max = %d\n", max); return 0; } // 函数定义 // 功能:为数组x的n个元素输入数值 void input(int x[], int n) { int i; for(i=0;i<n;i++) scanf("%d",&x[i]); } // 函数定义 // 功能:输出数组x中的n个元素 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; int 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); // 函数调用: 把x转换成二进制输出 dec2n(x, 8); // 函数调用: 把x转换成八进制输出 dec2n(x, 16); // 函数调用: 把x转换成十六进制输出 return 0; } // 函数定义 // 功能: 把十进制数x转换成n进制,打印输出 void dec2n(int x,int n) { int i=0,j; int a[1000]; if(n==2)//2进制 { while(x!=0) { a[i]=x%n; x=x/n; i++; } for(i--;i>=0;i--) printf("%d",a[i]); printf("\n"); } if(n==8)//8进制 { while(x!=0) { a[i]=x%n; x=x/n; i++; } for(i--;i>=0;i--) printf("%d",a[i]); printf("\n"); } if(n==16)//16进制 { while(x!=0) { a[i]=x%n; x=x/n; i++; } for(i--;i>=0;i--) printf("%x",a[i]); } }
#include<stdio.h> int main() { int i,j,a,b; printf("Enter n:"); while(scanf("%d",&i)!=EOF) { j=i; int m[i][j]={0}; for(a=0;a<i;a++) { for(b=0;b<j;b++) { if(b>=a) { m[a][b]=a+1; } else { m[a][b]=b+1; } } } for(a=0;a<i;a++) { for(b=0;b<j;b++) printf("%d ",m[a][b]); printf("\n"); } printf("Enter n:"); } return 0; }
大致了解了数组的使用方式。还有很多的算法自己无法独自思考出来,还需多加练习。