- 计算数组中完数的个数
【完数:除本身约数和等于本身。例如6:1 23 1+2+3=6 例如:28:1+2+4+7+14=18】
#include<stdio.h>
void PerfectFun(int arr[],int n);
int Perfect(int num);
int main()
{
int arr[10]={6,7,8,9,10,28,5,9,13,35};
int i,n;
n=sizeof(arr)/sizeof(arr[0]);
PerfectFun(arr,n);
}
void PerfectFun(int arr[],int n) //循环数组每一个值
{
int i;
for(i=0;i<n;i++)
{
if(Perfect(arr[i])!=0)
printf("数组中完数有%d \n",arr[i]);
}
}
int Perfect(int num)
{
int j,sum=0;
for(j=1;j<num;j++)
{
if(num%j==0)
{
sum+=j;
}
}
if(sum==num)
{
return sum;
}
else
return 0;
}
结果为:
- 实现单词的逆置 “hello my student”
最终结果是”student my hello”
#include<stdio.h>
#include<string.h>
void StrFun( char str[],int i ,int j)
{
char t;
while(i<j)
{
t=str[i];str[i]=str[j];str[j]=t;
i++;
j--;
}
}
void StrRev(char str[])
{
StrFun(str,0,strlen(str)-1);
int i=0,k,j=0;
char t;
while(str[i]!='\0')
{
while(str[j]!=' '&&str[j]!='\0')
{
j++;
}
k=j-1;
StrFun(str,i,k);
while(str[j]==' ')
{
j++;
}
i=j;
}
puts(str);
}
int main()
{
char a[]="hello my student";
StrRev(a);
return 0;
}
结果为: