C 之杯
1.有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数。
#include<stdio.h>
int f(int *);
int main()
{
int *p,a[10];
for(p=a;p<a+10;p++)
scanf("%d",p);
f(a);
for(p=a;p<a+10;p++)
printf("%d ",*p);
return 0;
}
int f(int *a)
{
int i,*p,b[10];
for(p=a;p<a+10;p++)
{
if(p-a<10-3)
b[p-a+3]=*p;
else
b[p-a-10+3]=*p;
}
for(i=0,p=b;p<b+10;i++,p++)
a[i]=*p;
return 0;
}
2.有n个人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
#include<stdio.h>
int main()
{
int *p,*q,r=1,i,t=0,n,a[100];
for(i=0;i<100;i++)
a[i]=i+1;
p=a;
printf("input the number of people:");
scanf("%d",&n);
while(t!=n-1)
{
if(p-a==n) p=q;
if(r==3&&*p!=0)
{
*p=0;
r=1;
t++;
}
if(*p!=0) r++;
for(i=0;i<n;i++)
{
if(a[i]!=0)
{
q=&a[i];
break;
}
}
p++;
}
printf("the final one is No.%d\n",*q);
return 0;
}
相关文档:
#include <iostream>
using namespace std;
class Base {
public:
virtual void fn(int x) {
cout << "In Base class, int x = " << x << endl;
}
};
class SubClass : public Base {
public:
// 函数的重载,这样的重载方式,在Java中能行,在C/C++中却不行
virt ......
有关 extern "C"
搞过C和C++混编的同志们都知道这个啥意思。
这儿有讲:http://www.cppblog.com/Macaulish/archive/2008/06/17/53689.html
但看一下下面的这个代码:
#include <iostream>
using namespace
std;
extern "C" { int g_inta; }
int main (void)
{
g_ ......
存储类就是用于存储程序数据的内存的类型,由三个属性来表示:存储时间、作用域和链接。
存储时期描述的是变量占用内存的时间,有静态的、自动的和分配的三种
作用域是变量起到作用的范围,有代码块作用域和文件作用域两种
链接说明该变量可以被哪些地方引用,有空链接、内部链接和外部链接三种
下面是五种存储类的属性 ......
(转)C/C++中的日期和时间 time_t与struct tm转换
摘要:
本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时、时间的获取、时间的计算和显示格式等方面进行了阐述。本文还通过大量的实例向你展示了time.h头文件中声明的各种函数和数据结构的详细使用方法。
关键字:UTC(世界标 ......