实验四
1 #include<stdio.h> 2 #define N 4 3 4 int main() 5 { 6 int a[N]={2,0,2,2}; 7 char b[N]={'2','0','2','2'}; 8 int i; 9 10 printf("sizeof(int) = %d\n",sizeof(int)); 11 printf("sizeof(char) = %d\n",sizeof(char)); 12 printf("\n"); 13 14 for(i=0;i<N;i++) 15 printf("%p: %d\n",&a[i],a[i]); 16 17 printf("\n"); 18 19 for(i=0;i<N;i++) 20 printf("%p: %c\n",&b[i],b[i]); 21 22 printf("\n"); 23 24 printf("a = %p\n",a); 25 printf("b = %p\n",b); 26 27 return 0; 28 }
1.yes 4
2.no 1
3.yes yes
1 #include<stdio.h> 2 #define N 2 3 #define M 3 4 5 int main() 6 { 7 int a[N][M]={{1,2,3},{4,5,6}}; 8 char b[N][M]={{'1','2','3'},{'4','5','6'}}; 9 int i,j; 10 11 for(i=0;i<N;i++) 12 for(j=0;j<M;j++) 13 printf("%p: %d\n",&a[i][j],a[i][j]); 14 15 printf("\n"); 16 17 for(i=0;i<N;i++) 18 for(j=0;j<M;j++) 19 printf("%p: %c\n",&b[i][j],b[i][j]); 20 21 return 0; 22 }
1.yes 4
2.yes 1
1 #include<stdio.h> 2 3 int days_of_year(int year, int month, int day); 4 5 int main() 6 { 7 int year, month, day; 8 int days; 9 10 while(scanf("%d%d%d",&year,&month,&day)!=EOF) 11 { 12 days=days_of_year(year, month, day); 13 printf("%4d-%02d-%02d是这一年的第%d天.\n\n",year,month,day,days); 14 } 15 16 return 0; 17 } 18 19 int days_of_year(int year,int month,int day) 20 { 21 22 int i; 23 int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; 24 25 for(i=1;i<month;i++) 26 { 27 day+=a[i]; 28 } 29 if((year%4==0&&year%100!=0)||(year%400==0)) 30 day+=1; 31 32 return day; 33 }
1 #include <stdio.h> 2 #define N 5 3 4 void input(int x[],int n); 5 void output(int x[],int n); 6 double average(int x[],int n); 7 void sort(int x[],int n); 8 9 int main() 10 { 11 int scores[N]; 12 double ave; 13 14 printf("录入%d个分数:\n",N); 15 input(scores,N); 16 17 printf("\n输出课程分数:\n"); 18 output(scores,N); 19 20 printf("\n课程分数处理:计算均分、排序...\n"); 21 ave=average(scores,N); 22 sort(scores,N); 23 24 printf("\n输出课程均分:%.2f\n",ave); 25 printf("\n输出课程分数(高->低):\n"); 26 output(scores,N); 27 28 return 0; 29 } 30 31 void input(int x[],int n) 32 { 33 int i; 34 35 for(i=0;i<n;i++) 36 scanf("%d",&x[i]); 37 } 38 39 void output(int x[],int n) 40 { 41 int i; 42 43 for(i=0;i<n;i++) 44 printf("%d ",x[i]); 45 46 printf("\n"); 47 } 48 49 double average(int x[],int n) 50 { 51 double sum; 52 int i=0; 53 54 while(i<N) 55 sum+=x[i++]; 56 57 return sum/n; 58 } 59 60 void sort(int x[],int n) 61 { 62 int i,j,temp; 63 64 for(i=0;i<=n-2;i++) 65 for(j=n-1;j>i;j--) 66 if(x[j]>x[j-1]) 67 { 68 temp=x[j]; 69 x[j]=x[j-1]; 70 x[j-1]=temp; 71 } 72 }
1 #include <stdio.h> 2 3 void dec2n(int x,int n); 4 5 int main() 6 { 7 int x; 8 9 printf("输入一个十进制整数:"); 10 scanf("%d",&x); 11 12 dec2n(x,2); 13 dec2n(x,8); 14 dec2n(x,16); 15 16 return 0; 17 } 18 19 void dec2n(int x,int n) 20 { 21 int b[50],i,temp,j; 22 char a[18]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; 23 24 for(i=0;x!=0;i++) 25 { 26 b[i]=x%n; 27 x/=n; 28 } 29 30 for(i-=1;i>=0;i--) 31 { 32 temp=b[i]; 33 printf("%c",a[temp]); 34 } 35 36 printf("\n"); 37 }
1 #include <stdio.h> 2 3 int main() 4 { 5 int n,i,j,temp; 6 7 printf("Enter n: "); 8 while(scanf("%d",&n)!=EOF) 9 { 10 for(i=1;i<=n;i++) 11 { 12 for(j=1;j<=i;j++) 13 printf("%d ",j); 14 15 temp=j-1; 16 17 for(;j<=n;j++) 18 printf("%d ",temp); 19 20 printf("\n"); 21 } 22 printf("\nEnter n: "); 23 } 24 return 0; 25 }
1 #include <stdio.h> 2 #include <string.h> 3 #define N 80 4 5 int main() 6 { 7 char views1[N]="hey, c, i hate u."; 8 char views2[N]="hey, c, i love u."; 9 char temp[N]; 10 11 printf("original views:\n"); 12 puts(views1); 13 puts(views2); 14 15 printf("\nswappint...\n\n"); 16 17 strcpy(temp,views1); 18 strcpy(views1,views2); 19 strcpy(views2,temp); 20 21 puts(views1); 22 puts(views2); 23 }
1 #include <stdio.h> 2 #include <string.h> 3 4 #define N 5 5 #define M 20 6 7 void bubble_sort(char str[][M],int n); 8 9 int main() 10 { 11 char name[][M]={"Bob","Bill","Joseph","Taylor","George"}; 12 int i; 13 14 printf("输出初始名单:\n"); 15 for(i=0;i<N;i++) 16 printf("%s\n",name[i]); 17 18 printf("\n排序中...\n"); 19 bubble_sort(name,N); 20 21 printf("\n按字典序输出名单:\n"); 22 for(i=0;i<N;i++) 23 printf("%s\n",name[i]); 24 25 return 0; 26 } 27 28 void bubble_sort(char str[][M],int n) 29 { 30 int i,j; 31 char temp[M]; 32 33 for(i=0;i<=n-2;i++) 34 for(j=0;j<=n-2-i;j++) 35 if(strcmp(str[j],str[j+1])>0) 36 { 37 strcpy(temp,str[j]); 38 strcpy(str[j],str[j+1]); 39 strcpy(str[j+1],temp); 40 } 41 }