有冇人知道这个如何做? #include stdio.h报错<stdio.h> int main() {

帮忙看个程序到底是什么意思 #include &stdio.h&int main(){ int a[5]={1,2,3,4,5}; int *ptr1=(int *)(&a+1); int *ptr2=(int *)((int )a+1); printf(&%x,%x&,ptr1[-1],*ptr2); return 0;}运行结果为5,2000000
int a[5]={1,2,3,4,5};int *ptr1=(int *)(&a+1); //&aint *ptr2=(int *)((int )a+1);printf(&%x,%x&,ptr1[-1],*ptr2);return 0;这个意思,对于&a, 就是相当于&数组指针&, 这个指针指向的类型是int[5],& &a+1, 就相当于, 指针+整数, 指针移动的字节=整数*sizeof(指向类型), 这里&a指向的类型是int[5], +1后指针向后移动了int[5]的长度, 就是20字节, 实际指向了元素&5&的后面, 然后把(&a+1)强转为int*, 那么这个int*类型的指针再加1减1, 就等于移动了一个int的字节, 莎哟~ptr1[-1] ,打印52013年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第七
2016年10月优秀大版主2016年8月优秀大版主
2016年9月 总版技术专家分月排行榜第二
2016年5月 总版技术专家分月排行榜第二
2016年10月优秀大版主2016年8月论坛优秀大版主
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。算法-蓝桥杯(14)
蓝桥杯习题
蓝桥杯练习系统习题加答案,总共分为6部分,90%习题使用C语言解答,部分使用C++或者Java。大部分习题为搜索参考或者别人提供所得,不足之处在所难免,恳请批评指正(预计200多题,习题仅供学习交流)
入门训练(详见&)
基础练习(详见&)
基础练习(详见&)
算法训练(详见 算法-蓝桥杯习题(3-1))Go
算法训练(详见 算法-蓝桥杯习题(3-2))Go
算法训练(详见&)
算法训练(详见&)
算法训练(详见&)
算法训练(详见&)
算法提高(详见&)
算法提高(详见&算法-蓝桥杯习题(4-2))Go
历届试题(详见&)
历届试题(详见&)
蓝桥杯练习系统评测数据
密码: m2pa
算法提高 多项式输出
//多项式输出
#include&stdio.h&
int main()
int n,a[101],i;
scanf(&%d&,&n);
for(i=n;i&=0;i--)
scanf(&%d&,&a[i]);
for(i=n;i&=0;i--)
//指数为首位
//系数大于0且等于1
if(a[i]&0 && a[i]!=1)
printf(&%dx^%d&,a[i],i);
//系数大于0且等于1
if(a[i]&0 && a[i]==1)
printf(&x^%d&,i);
//系数小于0且不等于-1
if(a[i]&0 && a[i]!=-1)
printf(&%dx^%d&,a[i],i);
//系数小于0且等于-1
if(a[i]&0 && a[i]==-1)
printf(&-x^%d&,i);
else if(i&1 && i!=n)
//指数不为0 且不为首位
//系数大于0且不等于1
if(a[i]&0 && a[i]!=1)
printf(&+%dx^%d&,a[i],i);
//系数大于0同时等于1
if (a[i]&0 && a[i]==1)
printf(&+x^%d&,i);
//系数小于0且不等于-1
if(a[i]&0 && a[i]!=-1)
printf(&%dx^%d&,a[i],i);
//系数小于0同时等于-1
if(a[i]&0 && a[i]==-1)
printf(&-x^%d&,i);
else if(i==1)
//系数大于0且不等于1
if(a[i]&0 && a[i]!=1)
printf(&+%dx&,a[i]);
//系数大于0同时等于1
if (a[i]&0 && a[i]==1)
printf(&+x&);
//系数小于0且不等于-1
if(a[i]&0 && a[i]!=-1)
printf(&%dx&,a[i]);
//系数小于0同时等于-1
if(a[i]&0 && a[i]==-1)
printf(&-x&);
if(a[i]&0)
printf(&+%d\n&,a[0]);
else if(a[i]&0)
printf(&%d\n&,a[0]);
printf(&\n&);
算法提高 矩阵乘方
#include &stdio.h&
int a[2][2], ans[2][2], temp[2][2] = {1,1,1,1};
void play()
int cnt, cnt2;
for(cnt = 0; cnt & 2; ++cnt)
for(cnt2 = 0; cnt2 & 2; ++cnt2)
printf(&%d &, ans[cnt][cnt2]);
printf(&\n&);
void cp(int arr1[][2], int arr2[][2])
int cnt, cnt2;
for(cnt = 0; cnt & 2 ;++cnt)
for(cnt2 = 0; cnt2 & 2; ++cnt2)
arr1[cnt][cnt2] = arr2[cnt][cnt2];
void mod(int arr[][2])
int cnt, cnt2;
for(cnt = 0; cnt & 2; ++cnt)
for(cnt2 = 0; cnt2 & 2; ++cnt2)
arr[cnt][cnt2] %=
void fun2(int a[][2], int b[][2])
int cnt, cnt2;
temp[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0];
temp[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1];
temp[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0];
temp[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1];
void fun(int arr[][2], int k)
if(k == 0)
mod(temp);
cp(ans, temp);
if(k == 1)
if(k == 2)
fun2(a, a);
cp(ans, temp);
printf(&2\n&);
if(k%2 == 0)
fun(arr, k/2);
fun2(ans, ans);
cp(ans, temp);
//printf(&=0\n&);
if(k%2 != 0)
fun(arr, k-1);
fun2(ans, arr);
cp(ans, temp);
//printf(&!=0\n&);
int main()
int cnt, cnt2;
scanf(&%d%d&, &b, &m);
for(cnt = 0; cnt & 2; ++cnt)
for(cnt2 = 0; cnt2 & 2; ++cnt2)
scanf(&%d&, &a[cnt][cnt2]);
ans[cnt][cnt2] = a[cnt][cnt2];
fun(a, b);
算法提高 夺宝奇兵
//夺宝奇兵
#include&stdio.h&
int max(int a,int b)
return a&b?a:b;
int main()
int N,i,j;
int a[101][101]={0};
int f[101][10]={0};
scanf(&%d&,&N);
for(i=1;i&=N;i++)
for(j=1;j&=i;j++)
scanf(&%d&,&a[i][j]);
for(i=N;i&=0;i--)
for(j=1;j&=i;j++)
f[i][j]=max( f[i+1][j],f[i+1][j+1] )+a[i][j];
printf(&%d\n&,f[1][1]);
算法提高 利息计算
#include &stdio.h&
#include &stdlib.h&
/* run this program using the console pauser or add your own getch, system(&pause&) or input loop */
int main(int argc, char *argv[]) {
double x,n;
double sum=0;
scanf(&%lf&,&x);
scanf(&%lf&,&n);
sum=x+(x*(n/100)*0.8);
printf(&%.2lf&,sum);
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:42515次
排名:千里之外
原创:26篇
评论:32条
(4)(1)(1)(6)(1)(3)(13)

我要回帖

更多关于 include main.h 的文章

 

随机推荐