2020-04-14长光工程师学习日记
今天继续学习了指针的内容
指针的难度教之前学习的内容难度有所上升,今天主要的内容就是对指针问题的继续学习与复习。
作业一
#include<stdio.h>
#include<string.h>
int main()
{
//char *p[5];
char ss[10]={"\0"};
char s[5][10]={"ertt","dwnns","ej","nenwbrt","abc"};
int i,j;
for(j=0;j<4;j++)
{
for(i=0;i<4;i++)
{
if(strlen(s[i])>strlen(s[i+1]))
{
strcpy(ss,s[i]);
strcpy(s[i],s[i+1]);
strcpy(s[i+1],ss);
}
}
}
strcpy(ss,"\0");
for(i=0;i<5;i++)
{
if((*(s[i]+2))!='\0')
{
ss[i]=*(s[i]+2);
}
else
{
ss[i]=' ';
}
}
puts(ss);
for(i=0;i<5;i++)
{
puts(s[i]);
}
}
作业二
#include<stdio.h>
int replace(char *p);
int main()
{
int b;
char s[20]={"\0"};
gets(s);
b=replace(s);
puts(s);
printf("替换的字符个数为:%d\n",b);
}
int replace(char *p)
{
int i;
int m=0;
for(i=0;i<20;i++)
{
if(*(p+i)=='t')
{
*(p+i)='e';
m++;
}
if(*(p+i)=='T')
{
*(p+i)='E';
m++;
}
}
return m;
}
作业三
#include<stdio.h>
int main()
{
int a;
char s[7][20]={
"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"
};
char *p[7];
int i;
for(i=0;i<7;i++)
{
p[i]=s[i];
}
while(scanf("%d",&a)&&a<8&&a>0)
{
puts(p[a-1]);
}
}
课上练习题
#include<stdio.h>
#include<string.h>
int* fun(int *p,int len,int f);
int main()
{
int s[100]={0};
int i=0;
while(scanf("%d",&s[i])&&s[i]!=0)
{
i++;
}
printf("奇数和为:%d\n",*fun(s,i,1));
printf("偶数和为:%d\n",*fun(s,i,0));
}
int* fun(int *p,int len,int f)
{
int sum1=0,sum2=0;
int *add,*even;
int i;
if(f==1)
{
for(i=0;i<len;i++)
{
if((*(p+i))%2==1)
{
sum1+=(*(p+i));
}
}
add=&sum1;
return add;
}
if(f==0)
{
for(i=0;i<len;i++)
{
if((*(p+i))%2==0)
{
sum2+=(*(p+i));
}
}
even=&sum2;
return even;
}
}