C语言第十一次作业

1,

#include<stdio.h>
void sum(int *p)
{
    int i,sum=0;
    for(i=0;i<10;i++)
    {
        sum=sum+*p+i;
    }
    printf("数组中元素和为:%d
",sum);
}
int main()
{
    int a[10]={1,3,5,7,9,2,4,6,8,10};
    int *p=a;
    sum(p);
    return 0;
}

2,

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
    int i=0,j;
    char *p[5];
    char str[20];
    char *temp;
    while(str[0]!='#')
    {
        scanf("%s",str);
        p[i]=(char *)malloc(sizeof(char)*strlen(str));
        strcpy(p[i],str);
        i++;
    }
    for(j=0;j<5;j++)
    {
        for(i=1;i<5;i++)
        {
            if(strcmp(p[i],p[i-1])<0)
            {
                temp=p[i];
                p[i]=p[i-1];
                p[i-1]=temp;
            }
        }
    }
    for(j=0;j<i;j++)
    printf("%s    ",p[j]);
    return 0;    
}

3,

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int *p=(int *)malloc(10*sizeof(int));
    int i;
    for(i=0;i<10;i++)
        scanf("%d",&p[i]);
    for(i=0;i<10;i++)
        printf("%d    ",p[i]);
    free(p);
    return 0;
}

4,

#include<stdio.h>
int main()
{
    int a[10][10];
    int *p[10];
    int i,j;
    for(i=0;i<10;i++)
    {
        p[i]=a[i];
    }
    for(i=0;i<10;i++)
    for(j=0;j<10;j++)
    {
        a[i][j]=(i+1)*(j+1);
    }
    for(i=0;i<10;i++)
    {
        for(j=0;j<10;j++)
        printf("%d    ",p[i][j]);
        printf("
");
    }
    return 0;
}

      感觉学到指针这部分内容有些吃力,很多东西看不懂,还有一部分需要自己学习,因为上次因为生病请假,有一部分内容没有听,自己学习的过程中也收到很大的阻碍,本次作业是通过自己在网上查阅资料和寻求同学帮助完成的,还是有很多不理解的地方,我会努力的!!!

原文地址:https://www.cnblogs.com/yypfd/p/6151981.html