今天复习,巩固下对指针的知识。
作业1
#include<stdio.h>
int digit(int n,int k);
int main()
{
int n,k;
int a;
scanf("%d%d",&n,&k);
a=digit(n,k);
printf("%d",a);
}
int digit(int n,int k)
{
int i;
int c;
for(i=1;i<k;i++)
{
n=n/10;
}
if(i==k)
{
c=n%10;
}
return c;
}
作业2
#include<stdio.h>
int *fun(int *p,int len,int f);
int main()
{
int s[10]={0};
int i;
while(scanf("%d",&s[i])&&s[i]!=0)
{
i++;
}
printf("???????%d",*fun(s,i,1));
printf("??????%d",*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;
}
}
作业3
#include<stdio.h>
int main()
{
char a;
int b;
scanf("%c",&a);
char *p;
p=&a;
if(*p>=1&&*p<=63)
{
b=(*p)/8*2+(*p);
}
if(*p>=64&&*p<=127)
{
b=(*p)/8*2+(*p)+20;
}
printf("%d",b);
}