下面部分地方使用指针,也有地方不使用指针。
(或许这里我都应该使用指针来让大家理解一下,但是一些时候指针不是必需品,当然,如果你要向硬件方面发展,那还是得学习指针的)
要学习指针可以看一下这里:(其他资料请自行检索)
一直流浪:C语言重点——指针篇(一篇让你完全搞懂指针)4693 赞同 · 205 评论文章
题目:输入3个数a,b,c,按大小顺序输出。
程序分析:用指针实现
#include<cstdio>void sswap(int *p1,int *p2){ /int main(){ scanf("%d%d",&n,&m); // n个人报数,报到m的出圈 left = n;//留在里面的最开始有n个 //在圈里是 0,不在圈里是1 while(1) { pos = pos % n 1; //环 while(in[pos]) pos = pos % n 1; num ; if(num % m == 0) { in[pos] = 1,left--;//出圈 printf("%d ",pos); } if(left == 1)break; } for(int i = 1;i <= n;i ) if(!in[i]){ printf("%d",i); break; }}// 其实可以数学推导出最后一个出圈的人是序号几,可查一下资料// 有时间可能补充一下推导
题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。
#include<cstdio>#include<cstring> #define R register// 其实有现成的计算字符串长度的函数strlen(),调用cstring char s[20];int len(char *s){ int cnt = 0; for(R int i = 0;;i ) { if(s[i] == '\0')break; cnt ; } return cnt;}int main(){ scanf("%s",s);//用%s输入,注意这样子的写法从s[0]存储 printf("%d\n",len(s)); // printf("%d\n",strlen(s));}
其实上面swap也有现成的函数,可以调用iostream库来使用