本文目录一览:
c语言问题..
楼主,报数是从1开始还是从0开始?即person[0]报的数是1还是0?
/*如果从1开始,用以下程序*/
#include stdio.h
#define N 17
main()
{
int person[N];
int i,num=0;/*num用来报数*/
for(i=0;iN;i++)
person[i]=i+1;/*初始化*/
for(i=0; ;i=(i+1)%N)
{
if(person[i]==num) break;/*转完了一圈,但num没有变,意味着就剩下person[i]了,退出循环*/
if(person[i]0) person[i]=++num;/*报数*/
if(person[i]%3==0) person[i]=0;/*处理报到3的倍数的人*/
}
printf("剩下来的是第%d个人\n",i);
}
/*如果报数从0开始,把int i,num=0;改成int i,num=-1;即可*/
/*以下还有一种算法*/
/*如果从1开始,用以下程序*/
#include stdio.h
#define N 17
main()
{
int person[N];
int i,num=0;
int count=0;
for(i=0;iN;i++)
person[i]=i+1;
for(i=0; ;i=(i+1)%N)
{
if(count=N-1) break;/*已经退出了N-1个人,循环报数结束*/
if(person[i]0) person[i]=++num;/*报数*/
if(person[i]person[i]%3==0)
{
person[i]=0;/*处理报到3的倍数的人*/
count++;/*退出一个人*/
}
}
for(i=0;iN;i++)
if(person[i]) break;
printf("剩下来的是第%d个人\n",i);
}
/*如果报数从0开始,把int i,num=0;改成int i,num=-1;并把int count=0;改成int count=1;即可*/
C语言中的数的范围是什么意思
数的范围就是可以表示的数值能取的一个大小范围,
只给你举一个例子.
signed short int 有符号短整型数说明。简写为short或int, 字长为2字节共16位二进制数.
有符号,所以最高位是符号位不能表示数值.剩余15位可以表示数值.
当为正数时:最高位为0(或1,与具体系统或机器有关),剩余15位全为1时,取得最大的整数,值为2的15次方减一,就是32767.
当为负数时,负数采用补码形式存放,数值位全为0,对应原码代表的数值是这个值取反再加1,就是2的15次方,就是32768,因为它为负就是-32768了.
而不在这个范围的数就无法被表示出来,这个范围就是它的数值范围了!
C语言代码要求注释及结果多少
#includestdio.h // 库函数
typedef struct //定义结构体
{
int num; //结构体内部int变量名:num
double s; //结构体内部double变量:s
}REC; //结构体重命名,使用这个可以定义结构体变量,使用如:int。
void fun1(REC x)// 普通函数,形参是个结构体变量。
{
x.num=23; // 对传来结构体变量内int数据初始化 ,注意不会影响原主函数中的结构体值,有效寿命只在本函数内。
x.s=88.5; // 对传来结构体变量内double数据初始化 注意不会影响原主函数中的结构体值,有效寿命只在本函数内。
}
main()
{
REC a={16,90.0}; // 定义个结构体变量a并初始化a值,其中int num为16,double s为90.0
fun1(a); // 调用函数fun1()
printf("%d\n",a.num); //输出 结构体内的int型数据num值 为16.
}
//为什么输出16,因为函数调用使用的是形参传递数据,函数值内部使用改变变量值不会改变原来主函数变量值,要想改变可以吧a定义为全局变量。或返回值使用a 接收。
c语言小问题
已经修改好了,请对比查找修改之处:
#includestdio.h
#define
M
10
#define
N
10
void
InputMatrix(int
*p,int
m,int
n);
int
FindMax(int
*p,int
m,int
n,int
*pRow,int
*pCol);
int
main()
{
int
a[M][N],m,n,row,col,max;
printf("input
m,n:");
scanf("%d,%d",m,n);
InputMatrix(*a,m,n);
max=FindMax(*a,m,n,row,col);
printf("max=%d,row=%d,col=%d\n",max,row,col);
getch();
return
0;
}
void
InputMatrix(int
*p,int
m,int
n)
{
int
i,j;
printf("input
%d*%d
array:\n",m,n);
for(i=0;im;i++)
{
for(j=0;jn;j++)
{
scanf("%d",p[i*n+j]);
}
}
}
int
FindMax(int
*p,int
m,int
n,int
*pRow,int
*pCol)
{
int
i,j,max=p[0];
*pRow=0;
*pCol=0;
for(i=0;im;i++)
{
for(j=0;jn;j++)
{
if(p[i*n+j]max)
{
max=p[i*n+j];
*pRow=i;
*pCol=j;
}
}
}
return
max;
}
C语言,获取硬盘剩余空间函数的使用方法。GetDiskFreeSpaceEx函数使用方法
GetDiskFreeSpaceEx是windows的API啊,调用之后就会获得信息。
说明
获取与一个磁盘的组织以及剩余空间容量有关的信息
返回值
Long,非零表示成功,零表示失败。会设置GetLastError
参数表
参数 类型及说明
lpRootPathName String,不包括卷名的磁盘根路径名
lpFreeBytesAvailableToCaller LARGE_INTEGER,指定一个变量,用于容纳调用者可用的字节数量
lpTotalNumberOfBytes LARGE_INTEGER,指定一个变量,用于容纳磁盘上的总字节数
lpTotalNumberOfFreeBytes LARGE_INTEGER,指定一个变量,用于容纳磁盘上可用的字节数
适用平台
Windows 95 OSR2,Windows NT 4.0