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;
}
相关文档:
1 编译器 有谁真正的理解过一个编译器呢?许多人认为TC很简单很落后,但是即便是这样简单的工具,到底有几个人真正的深入理解了呢?一个简单的编译器都不能理解,如何能成为高手,如何能深入的使用更加高级的工具呢?不要以为自己使用的是VC就很了不起,因为使用这样傻瓜化的工具只能让你看不到事物的本质。接下来我们就来 ......
1.fopen()
fopen的原型是:FILE *fopen(const char
*filename,const char
*mode),fopen实现三个功能:为使用而打开一个流,把一个文件和此流相连接,给此流返回一个FILR指针。
参数filename指向要打开的文件名,mode表示打开状态的字符串,其
取值如下:
字符串 含义
"r" 以只读方式打开 ......
测试代码一(VC6.0、C-code):
#include <stdio.h>
void main()
{
int aa;
unsigned char j1,j2;
aa=j1=j2=0;
aa=49;
j1=aa;
printf("j1=%d \n",j1);
j2=aa;
printf("j2=%c \n",j2);
}
【分析】:
[1]正如所想象的输出结果:
j1 ......
存储类就是用于存储程序数据的内存的类型,由三个属性来表示:存储时间、作用域和链接。
存储时期描述的是变量占用内存的时间,有静态的、自动的和分配的三种
作用域是变量起到作用的范围,有代码块作用域和文件作用域两种
链接说明该变量可以被哪些地方引用,有空链接、内部链接和外部链接三种
下面是五种存储类的属性 ......