1.编程实现二维数组的杨辉三角
程序代码:
1 #include<stdio.h>2 #include<string.h>3 #include<stdlib.h>4 int main(int argc, const char *argv[])5 {6 int n;7 printf("please enter n:");8 scanf("%d",&n);9 int arr[n][n];10 for(int i=0;i<n;i++)11 {12 for(int j=0;j<=i;j++)13 {14 if(j==0||j==i)15 arr[i][j]=1;16 else17 arr[i][j]=arr[i-1][j]+arr[i-1][j-1];18 printf("%-4d",arr[i][j]);19 }20 puts("");21 }22 return 0;23 }
运行结果:
2.编程实现二维数组计算每一行的和以及列和
程序代码:
1 #include<stdio.h>2 #include<string.h>3 #include<stdlib.h>4 int main(int argc, const char *argv[])5 {6 int n,m;7 printf("please enter n:");8 scanf("%d",&n);9 printf("please enter m:");10 scanf("%d",&m);11 int arr[n][m];12 for(int i=0;i<n;i++)13 {14 for(int j=0;j<m;j++)15 {16 scanf("%d",&arr[i][j]);17 }18 }19 //行和20 for(int i=0;i<n;i++)21 {22 int row_sum=0;23 for(int j=0;j<m;j++)24 row_sum+=arr[i][j];25 printf("%d row_sum=%d\n",i+1,row_sum);26 }27 //列和28 for(int j=0;j<m;j++)29 {30 int line_sum=0;31 for(int i=0;i<n;i++)32 line_sum+=arr[i][j];33 printf("%d line_sum=%d\n",j+1,line_sum);34 }35 return 0;36 }
运行结果:
3.编程实现二维数组计算第二大值
程序代码:
1 #include<stdio.h>2 #include<string.h>3 #include<stdlib.h>4 int main(int argc, const char *argv[])5 {6 int arr[2][3];7 for(int i=0;i<2;i++)8 {9 for(int j=0;j<3;j++)10 scanf("%d",&arr[i][j]);11 }12 int max=arr[0][0];13 int second_max=arr[0][0];14 for(int i=0;i<2;i++)15 {16 for(int j=0;j<3;j++)17 {18 if(max<arr[i][j])19 max=arr[i][j];20 if(second_max>arr[i][j])21 second_max=arr[i][j];22 }23 }24 for(int i=0;i<2;i++)25 {26 for(int j=0;j<3;j++)27 {28 if(max==arr[i][j])29 continue;30 if(second_max<arr[i][j])31 second_max=arr[i][j];32 }33 }34 printf("second_max=%d\n",second_max);35 return 0;36 }
运行结果:
4.非函数实现系统函数strcat、strcmp、strcpy、strlen
程序代码:
1 #include<stdio.h>2 #include<string.h>3 #include<stdlib.h>4 void my_strcat(char *dest,char *src);5 void my_strcmp(char *dest,char *src);6 void my_strcpy(char *dest,char *src);7 int my_strlen(char *dest);8 int main(int argc, const char *argv[])9 {10 char dest[20]="";11 char src[20]="";12 printf("please enter dest:");13 gets(dest);14 printf("please enter src:");15 gets(src);16 17 my_strcat(dest,src);18 puts(dest);19 20 my_strcmp(dest,src);21 22 my_strcpy(dest,src);23 puts(dest);24 25 int len=my_strlen(dest);26 printf("strlen=%d\n",len);27 return 0;28 }29 void my_strcat(char *dest,char *src)30 {31 int i,j;32 for(i=0;*(dest+i)!='\0';i++);33 for(j=0;*(src+j)!='\0';j++)34 *(dest+i+j)=*(src+j);35 *(dest+i+j)='\0';36 }37 void my_strcmp(char *dest,char *src)38 {39 int i=0;40 while(dest[i]==src[i])41 {42 if(dest[i]=='\0')43 break;44 i++;45 }46 if(dest[i]-src[i]>0)47 puts("dest>src");48 else if(dest[i]-src[i]<0)49 puts("dest<src");50 else if(dest[i]-src[i]==0)51 puts("dest==src");52 }53 void my_strcpy(char *dest,char *src)54 {55 int i;56 for(i=0;*(src+i)!='\0';i++)57 *(dest+i)=*(src+i);58 *(dest+i)='\0';59 }60 int my_strlen(char *dest)61 {62 int i;63 for(i=0;*(dest+i)!='\0';i++);64 return i;65 }
运行结果: