本文目錄一覽:
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
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/270986.html