第十一次作业

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;
} 

作业心得还想再理解一下再写,先把作业交了,这次作业说明了对课上知识理解的不到位,我会努力听课,巩固基础。

posted @ 2016-12-09 15:48  丰清杨  阅读(143)  评论(1编辑  收藏  举报