【完数:除本身约数和等于本身。例如6:1 23 1+2+3=6 例如:28:1+2+4+7+14=18】
在该函数【void PerfectFun(int arr[],int n) 】循环数组每一个值
在该函数【int Perfect(int num) 】 判断完数,返回约数的和
1 #include
2 #include
3 int Perfect(int num);
4 void PrefectFun(int arr[],int n)
5 {
6 int i;
7 for(i=0;i 8 { 9 int sum=Perfect(arr[i]); 10 if(sum==arr[i]) 11 { 12 printf("%d\t",arr[i]); 13 } 14 } 15 } 16 int Perfect(int num)//num=arr[i] 17 { 18 int sum=0; 19 int i; 20 for(i=1;i 21 { 22 if(num%i==0) 23 { 24 sum=sum+i; 25 } 26 } 27 return sum; 28 } 29 int main(int argc, const char *argv[]) 30 { 31 int arr[20]; 32 int n; 33 printf("请输入数组的个数:"); 34 scanf("%d",&n); 35 for(int i=0;i 36 { 37 scanf("%d",&arr[i]); 38 } 39 PrefectFun(arr,n); 40 return 0; 41 } 最终结果是”student my hello” 在该函数【void StrFun( char str[]) 】 循环字符串的 在该函数【void StrRev(char str[]) 】 主要是实现逆置的 1 #include 2 #include 3 void StrRev(char str[],int i,int j); 4 void StrFun(char str[]) 5 { 6 int i=0,j=0,k; 7 while(str[i]!='\0') 8 { 9 while(str[j]!=' '&&str[j]!='\0') 10 { 11 j++; 12 } 13 k=j-1; 14 StrRev(str,i,k); 15 while(str[j]==' ') 16 { 17 j++; 18 } 19 i=j; 20 } 21 } 22 void StrRev(char str[],int i,int j) 23 { 24 char t; 25 while(i 26 { 27 t=str[i];str[i]=str[j];str[j]=t; 28 i++;j--; 29 } 30 31 } 32 33 int main(int argc, const char *argv[]) 34 { 35 char str[50]=""; 36 printf("请输入一串字符\n"); 37 gets(str); 38 StrRev(str,0,strlen(str)-1); 39 StrFun(str); 40 puts(str); 41 return 0; 42 } 你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
本文名称:c语言作业第八天(自定义函数)-创新互联
文章地址:http://cdkjz.cn/article/pchpc.html