1.请编程实现二维数组的杨慧三角
#include<stdio.h>
#include<string.h> int main(int argc, const char *argv[])
{ int n,i,j;printf("please enter n:");scanf("%d",&n);int arr[n][n];for(i=0;i<n;i++){for(j=0;j<=i;j++){if(j==0 || i==j)arr[i][j]=1;else{arr[i][j]=arr[i-1][j]+arr[i-1][j-1];}printf("%d",arr[i][j]);}printf("\n");}
2请编程实现二维数组计算每一行的和以及列和
#include<stdio.h>
#include<string.h>
#include<stdlib.h>int main(int argc, const char *argv[])
{int arr[2][3];for(int i=0;i<2;i++){for(int j=0;j<3;j++){scanf("%d",&arr[i][j]);}}int h1,h2,l1,l2,l3;h1=h2=l1=l2=l3=0;for(int i=0;i<3;i++){h1+=arr[0][i];h2+=arr[1][i];}for(int i=0;i<2;i++){l1+=arr[i][0];l2+=arr[i][1];l3+=arr[i][2];}printf("h1=%d,h2=%d\n",h1,h2);printf("l1=%d,l2=%d,l3=%d\n",l1,l2,l3);return 0;
}
3.请编程实现二维数组计算第二大值
#include<stdio.h>
#include<string.h> int main(int argc, const char *argv[])
{ int arr[2][3];for(int i=0;i<2;i++){for(int j=0;j<3;j++){scanf("%d",&arr[i][j]);}}int max=arr[0][0];int second=arr[0][0];int i,j;for(i=0;i<2;i++){for(j=0;j<3;j++){if(max<=arr[i][j]){max=arr[i][j];}}}i=j=0;if(second==max){second=arr[i+1][j+1];}for(i=0;i<2;i++){for(j=0;j<3;j++){if(second<=arr[i][j]&&arr[i][j]!=max){second=arr[i][j];}}}printf("second=%d\n",second);return 0;
}
4.请使用非函数方法实现系统函数strcat,strcmp,strcpy,strlen
#include<stdio.h>
#include<string.h>
#include<stdlib.h>void cpy(char a[10],char b[10]);
void cat(char a[10],char b[10]);
void len(char a[10]);
void cmp(char a[10],char b[10]);
int main(int argc, const char *argv[])
{char a[10];char b[10];printf("please enter a:");gets(a);printf("please enter b:");gets(b);//cpy(a,b);//cat(a,b);cmp(a,b);len(a);return 0;
}
void cpy(char a[10],char b[10])
{int i=0;while(b[i]!='\0'){a[i]=b[i];i++;}a[i]='\0';puts(a);puts(b);
}
void cat(char a[10],char b[10])
{int i=0,j=0;while(a[i]!='\0'){i++;}while(b[j]!='\0'){a[i+j]=b[j];j++;}a[i+j]='\0';puts(a);puts(b);
}void len(char a[10])
{int i;for(i=0;a[i]!='\0';i++);printf("len=%d\n",i);
}void cmp(char a[10],char b[10])
{int i=0;while(a[i]==b[i]){if(a[i]=='\0')break;i++;}if(a[i]-b[i]>0)puts("a>b");else if(a[i]-b[i]<0)puts("a<b");else if(a[i]-b[i]==0)puts("a==b");
}