1.计算数组中完数的个数
【完数:除本身约数和等于本身。例如6:1 23 1+2+3=6 例如:28:1+2+4+7+14=18】
在该函数【void PerfectFun(int arr[],int n) 】循环数组每一个值
在该函数【int Perfect(int num) 】 判断完数,返回约数的和
#include <stdio.h>
#include <string.h>
int Perfect(int num)
{
int j;
int sum=0;
for(j=1;j<num;j++)
{
if(num%j==0)
sum+=j;
}
if(sum==num)
{
printf(“约数的和为:%d\n”,sum);
}
else
printf(“不是完数\n”);
}
void PerfectFun(int arr[],int n)
{
int i;
for(i=0;i<n;i++)
{
if(arr[i]==1)
{
return 0;
}
else if(Perfect(arr[i])==arr[i])
{
printf(“%d\n”,arr[i]);
}
}
}
int main(int argc, const char *argv[])
{
int arr[]={6,15,24,36,48,52};
int n=sizeof(arr)/sizeof(arr[0]);
PerfectFun(arr,n);
return 0;
}
2.实现单词的逆置“hello my student”
最终结果是”student my hello”
在该函数【void StrFun( char str[]) 】 循环字符串的
在该函数【void StrRev(char str[]) 】 主要是实现逆置的
#include <stdio.h>
#include <string.h>
void StrFun(char str[])
{
int i,j=strlen(str);
while(i<j)
{
temp=str[i];
str[i]=str[j];
str[j]=temp;
i++;
j--;
}
}
void StrRev(char str[])
{
int i=0,j=0;
int k;
char t;
while(a[i]!=’/0’)
{
while(a[j]!=’ ’&&a[j]!=’/0’)
{
j++;
}
k=j-1;
while(i<k)
{
t=str[i];
str[i]=str[k];
str[k]=t;
i++;
k--;
}
while(str[j]==' ')
{
j++;
}
i=j;
}
printf(“%s\n”,str);
}
int main(int argc, const char *argv[])
{
char str[]={“hello my student”};
StrFun(str);
StrRev(str);
return 0;
}
这篇文章展示了两个C语言程序,第一个程序用于计算给定数组中完数的个数,通过`PerfectFun`和`Perfect`两个函数实现。第二个程序实现了字符串中单词的逆置,`StrFun`和`StrRev`函数分别进行单词边界识别和单词逆置操作。
1267

被折叠的 条评论
为什么被折叠?



