1.
#include<stdio.h>
int fun(int a);
int main()
{
int a;
scanf("%d",&a);
printf("%d",fun(a));
}
int fun(int a)
{
int i;
int m=0;
int d=1;
int b=a,c;
int sum=0;
while(b!=0)
{
m++;
c=b%10;
for(i=1;i<m;i++)
{
d*=8;
}
sum+=c*d;
d=1;
b=b/10;
//printf("%d %d %d\n",c,d,sum);
}
return sum;
}
2.
#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;
}
}
3.
#include<stdio.h>
void scan(int *p);
void prin(int *p);
void change(int *p);
int main()
{
int a[10]={0};
scan(a);
change(a);
prin(a);
}
void scan(int *p)
{
int i;
for(i=0;i<10;i++)
{
scanf("%d",(p+i));
}
}
void prin(int *p)
{
int i;
for(i=0;i<10;i++)
{
printf("%d ",*(p+i));
}
}
void change(int *p)
{
int i;
int max=*p;
int temp;
for(i=1;i<10;i++)
{
if(*(p+i)>max)
{
max=*(p+i);
}
}
for(i=0;i<10;i++)
{
if(max==*(p+i))
{
temp=*(p+i);
*(p+i)=*(p+9);
*(p+9)=temp;
}
}
int min=*p;
for(i=1;i<10;i++)
{
if(*(p+i)<min)
{
min=*(p+i);
}
}
for(i=0;i<10;i++)
{
if(min==*(p+i))
{
temp=*(p+i);
*(p+i)=*p;
*p=temp;
}
}
}
4.
#include<stdio.h>
int digit(int n,int k);
int main()
{
int n,k;
scanf("%d%d",&n,&k);
printf("%d",digit(n,k));
}
int digit(int n,int k)
{
int m;
while(k>0)
{
m=n%10;
n=n/10;
k--;
}
return m;
}
5.
#include<stdio.h>
int wei(int a);
int change(int a,int b);
int main()
{
int a,b;
scanf("%d",&a);
b=wei(a);
printf("该数字是:%d位数\n",b);
printf("调换后的数字是:%d\n",change(a,b));
}
int wei(int a)
{
int m=0;
while(a!=0)
{
m++;
a=a/10;
}
return m;
}
int change(int a,int b)
{
int sum=0;
int n=1;
int i;
while(b!=0)
{
for(i=1;i<b;i++)
{
n*=10;
}
sum+=a%10*n;
a=a/10;
b--;
n=1;
}
return sum;
}