第十一次作业
1.
#include<stdio.h> void sum(int *p) { int s=0,i; for(i=0;i<10;i++) { s+=*p; p++; } printf("总和为%d\n",s); } int main() { int a[10],i; printf("输入数组a的十个数,用空格隔开:"); for(i=0;i<10;i++) scanf("%d",&a[i]); sum(a); return 0; }
2.
#include<stdio.h> #include<string.h> void sort(char *str[]) { int i,j,k; char *temp; for(i=0;i<4;i++) { for(j=i+1;j<5;j++) { if(strcmp(str[k],str[j])>0) { temp=str[k]; str[k]=str[j]; str[j]=temp; } } } } int main() { char s[5][100],*p[5]; int i; printf("依次输入5个字符串\n"); for(i=0;i<5;i++) { scanf("%s",s[i]); p[i]=s[i]; } sort(p); printf("由小到大排序结果为:"); for(i=0;i<5;i++) printf("%s",p[i]); return 0; }
3.
#include<stdio.h> #include<malloc.h> int main() { int *p,*p0,i; p0=p=(int*)malloc(sizeof(int)*10); printf("输入十个数,用括号隔开:"); for(i=0;i<10;i++) { scanf("%d",p); p++; } p=p0; for(i=0;i<10;i++) { printf("%d ",*p); p++; } return 0; }
4.
#include<stdio.h> int main() { int a[10][10],(*p)[10],i,j; p=a; for(i=0;i<10;i++) for(j=0;j<10;j++) *(*(p+i)+j)=(i+1)*(j+1);//使用数组指针p数组a进行值初始化,初始化的数组值使用(i+1)*(j+1)计算得出 for(i=0;i<10;i++) { for(j=0;j<10;j++) printf("%d ",p[i][j]); printf("\n"); } return 0; }
作业心得还想再理解一下再写,先把作业交了,这次作业说明了对课上知识理解的不到位,我会努力听课,巩固基础。