-
#include <stdio.h>
int atoi(char *p)
{
int arr[6];
for(int i=0;i<7;i++)
{
if(*p!='\0')
{
arr[i]=(int)*p-48;
printf("%d\t",arr[i]);
p++;
}
}
}
int main(int argc, const char *argv[])
{
char arr[]="123456";
atoi(arr);
return 0;
}
2.使用多文件编译求数组中完数和素数的和以及素数的个数
-
#include "head.h"
int main(int argc, const char *argv[])
{
// char arr[]="hello";
// int n=strlen(arr)-1;
// Rec(arr,n);
int arr[][4]={6,33,22,28,46,4,6,9,89};
int line=sizeof(arr)/sizeof(arr[0]);
int row=sizeof(arr[0])/sizeof(arr[0][0]);
int n=wanshu(arr,line,row);
printf("数组中完数的和为%d\n",n);
int m=shushu(arr,line,row);
printf("数组中素数的和为%d\n",m);
// sushu(arr);
}
-
#ifndef __HEAD_H__
#define __HEAD_H__
#include <stdio.h>
#include<string.h>
// void Rec(char arr[],int len);
int wanshu(int (*p)[4],int line,int row);
int shushu(int (*p)[4],int line,int row);
#endif
3.自定义函数
#include "head.h"
#if 0
void Rec(char arr[], int len)
{
if(len==0)
{
printf("%c ",arr[len]);
}
else if(len>=1)
{
printf("%c ",arr[len]);
len--;
Rec(arr,len);
}
}
#endif
int wanshu(int (*p)[4],int line,int row)
{
int i=0;int j=0;int k=1;
int num=0;int num1=0;
for(i=0;i<line;i++)
{
for(j=0;j<row;j++)
{
while(k<(*(*(p+i)+j)))
{
if(*(*(p+i)+j)%k==0)
{
num=num+k;
}
k++;
}
if(num==(*(*(p+i)+j)))
{
num1+=*(*(p+i)+j);
}
k=1;num=0;
}
}
return num1;
}
int shushu(int (*p)[4],int line,int row)
{
int i=0;int j=0;int k=1;
int num=0;int num1=0;
int l=0;
for(i=0;i<line;i++)
{
for(j=0;j<row;j++)
{
while(k<=*(*(p+i)+j))
{
if(*(*(p+i)+j)%k==0)
{
num+=k;
}
k++;
}
if(num==*(*(p+i)+j)+1)
{
num1+=*(*(p+i)+j);
l=l+2;
}
k=1;
num=0;
}
}
printf("数组中素数的个数为%d\n",l);
return num1;
}
3.多个字符串逆置
#include <stdio.h>
#include<string.h>
//1.先对整个整个字符串进行逆置,2.再对单个字符串进行逆置。
void add(char *p,int i,int j)
{
char temp;
while(i<j)
{
temp=*(p+i);
*(p+i)=*(p+j);
*(p+j)=temp;
i++;
j--;
}
}
//完成了对于整个数组的逆置
void bbb(char *p)
{
int i=0;
int j=0;
int k=0;
while(*(p+i)!='\0')
{
while(*(p+j)!=' '&&*(p+j)!='\0')
{
j++;
}
k=j-1;
add(p,i,k);
while(*(p+j)==' ')
{
j++;
}
i=j;
}
printf("%s\n",p);
}
int main(int argc, const char *argv[])
{
char arr[]="hello world hi";
int n=strlen(arr);
add(arr,0,n-1);
bbb(arr);
return 0;
}