#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int * shenqing(int num) //申请空间
{
int *p=(int *)malloc(num*sizeof(int));
if(NULL==p)
{
return p;
}
memset(p,0,num*sizeof(int));
return p;
}
void set_arr(int *p,int num) //建立数组
{
int i=0;
printf("请输入你要进行计算的数组元素:\n");
for(i=0;i<num;i++)
{
scanf("%d",p++);
}
}
void show_arr(int *p,int num) //遍历数组
{
int i=0;
for(i=0;i<num;i++)
{
printf(" %d",*p++);
}
printf("\n");
}
int jisuan(int *p,int num)
{
int i=0;
int sum=(*p)+(*(p+1))+(*(p+2));
int arr[3]={0};
for(i=0;i<num-2;i++)
{
if((*(p+i)+*(p+i+1)+*(p+i+2))>sum)
{
sum=*(p+i)+*(p+i+1)+*(p+i+2);
arr[0]=*(p+i);
arr[1]=*(p+i+1);
arr[2]=*(p+i+2);
}
}
printf("{%d,%d,%d}",arr[0],arr[1],arr[2]);
return sum;
}
int main(void)
{
int num=0,sum=0;
printf("请输入你要计算的数组的大小:\n");
scanf("%d",&num);
int *p=shenqing(num);
set_arr(p,num);
show_arr(p,num);
sum=jisuan(p,num);
printf("=%d.\n",sum);
if(NULL!=p)
{
free(p);
p=NULL;
}
return 0;
}
#include <string.h>
#include <stdlib.h>
int * shenqing(int num) //申请空间
{
int *p=(int *)malloc(num*sizeof(int));
if(NULL==p)
{
return p;
}
memset(p,0,num*sizeof(int));
return p;
}
void set_arr(int *p,int num) //建立数组
{
int i=0;
printf("请输入你要进行计算的数组元素:\n");
for(i=0;i<num;i++)
{
scanf("%d",p++);
}
}
void show_arr(int *p,int num) //遍历数组
{
int i=0;
for(i=0;i<num;i++)
{
printf(" %d",*p++);
}
printf("\n");
}
int jisuan(int *p,int num)
{
int i=0;
int sum=(*p)+(*(p+1))+(*(p+2));
int arr[3]={0};
for(i=0;i<num-2;i++)
{
if((*(p+i)+*(p+i+1)+*(p+i+2))>sum)
{
sum=*(p+i)+*(p+i+1)+*(p+i+2);
arr[0]=*(p+i);
arr[1]=*(p+i+1);
arr[2]=*(p+i+2);
}
}
printf("{%d,%d,%d}",arr[0],arr[1],arr[2]);
return sum;
}
int main(void)
{
int num=0,sum=0;
printf("请输入你要计算的数组的大小:\n");
scanf("%d",&num);
int *p=shenqing(num);
set_arr(p,num);
show_arr(p,num);
sum=jisuan(p,num);
printf("=%d.\n",sum);
if(NULL!=p)
{
free(p);
p=NULL;
}
return 0;
}
#include <stdio.h>
void func(unsigned short *a)
{
short b=*a;
short c=0xff;
c=(c&b)<<8;
b=b>>8;
*a=c+b;
}
int main(void)
{
short a=0,b=0;
printf("请输入两个字节的十六进制数:\n");
scanf(" %x",&a);
unsigned short *p=(unsigned short *)&a;
func(p);
printf("0x%x\n",*p);
return 0;
}
#include <stdio.h>
int main(void)
{
int * p;
p=(int *)0x67a9;
*p=0xaa55;
printf("%x\n",*p);
return 0;
}
int main(void)
{
int * p;
p=(int *)0x67a9;
*p=0xaa55;
printf("%x\n",*p);
return 0;
}
员工问题:
#include <stdio.h>
int func(int month)
{
int arr[100];
int i=0;
for(i=0;i<100;i++)
{
if(0==i||1==i||2==i)
{
arr[i]=1;
}
if(i>2)
{
arr[i]=arr[i-1]+arr[i-3];
}
}
return arr[month-1];
}
int main(void)
{
int month=0,people=0;
printf("请输入你要计算的月份:\n");
scanf("%d",&month);
people=func(month);
printf("people=%d.\n",people);
return 0;
}
#include <stdio.h>
int func(int month)
{
int arr[100];
int i=0;
for(i=0;i<100;i++)
{
if(0==i||1==i||2==i)
{
arr[i]=1;
}
if(i>2)
{
arr[i]=arr[i-1]+arr[i-3];
}
}
return arr[month-1];
}
int main(void)
{
int month=0,people=0;
printf("请输入你要计算的月份:\n");
scanf("%d",&month);
people=func(month);
printf("people=%d.\n",people);
return 0;
}
方法二://有错误
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int func(int month)
{
int *p=(int *)malloc((month-1)*sizeof(int));
if(NULL==p)
{
printf("error.\n");
}
memset=(p,0,(month-1)*sizeof(int);
int i=0;
for(i=0;i<100;i++)
{
if(0==i||1==i||2==i)
{
p[i]=1;
}
if(i>2)
{
p[i]=p[i-1]+p[i-3];
}
}
return p[month-1];
free(p);
}
int main(void)
{
int month=0,people=0;
printf("请输入你要计算的月份:\n");
scanf("%d",&month);
people=func(month);
printf("people=%d.\n",people);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int func(int month)
{
int *p=(int *)malloc((month-1)*sizeof(int));
if(NULL==p)
{
printf("error.\n");
}
memset=(p,0,(month-1)*sizeof(int);
int i=0;
for(i=0;i<100;i++)
{
if(0==i||1==i||2==i)
{
p[i]=1;
}
if(i>2)
{
p[i]=p[i-1]+p[i-3];
}
}
return p[month-1];
free(p);
}
int main(void)
{
int month=0,people=0;
printf("请输入你要计算的月份:\n");
scanf("%d",&month);
people=func(month);
printf("people=%d.\n",people);
return 0;
}