本文目錄一覽:
- 1、digit【ch-『0』】++在c語言中是什麼意思?
- 2、C語言 digit是什麼意思
- 3、將文件中所有的連續的阿拉伯數字以一個字串DIGIT代替,c語言實現,謝謝
- 4、C語言編程,寫一函數digit(n,k),它把數n從右邊起的第k位數字的值給出來,其中n為正整數,若n的位數不足k
digit【ch-『0』】++在c語言中是什麼意思?
digit[ch-‘0’]++; 在c語言中是一個語句。
digit 是一個一維數組, ch-‘0’ 得到一 個 數值,作為下標,
digit[ch-‘0’] 是一個數組元素。
++ 是 後綴 ++,出了表達式後變數自增1運算, 即 讓該數組元素 的值 增加 1:
digit[ch-‘0’]++; 就是 digit[ch-‘0’] = digit[ch-‘0’] + 1;
ch 是一個字元變數,例如 char ch=’5′; ‘5’ 的 ASCII 值,減去 ‘0’ 的 ASCII 值 等於算術值 5。 (’0′,’5′ 這些單引號括起的 叫 字元常量,數值等於該字元的ASCII 值)。
原語句就成了 digit[5] = digit[5] + 1;
程序例子:
#include stdio.h
int main()
{
int digit[10]={1,2,3,4,5,6,7,8,9,10};
int i;
char ch=’5′;
digit[ch-‘0’]++;
for (i=0;i10;i++) printf(“%d “,digit[i]);
return 0;
}
輸出:1 2 3 4 5 7 7 8 9 10
可以看出 digit[5] 原來等於 6, 自增1後 變 7。
C語言 digit是什麼意思
指向結構變數的指針 float a=fn1(10.0); //第1種情況,系統生成要返回值的副本(即臨時變數)
將文件中所有的連續的阿拉伯數字以一個字串DIGIT代替,c語言實現,謝謝
#include “stdafx.h”
#includestdio.h
#includeio.h
int main(int argc,char*argv[])
{
char buf[256],*filename=buf,*p=”DIGIT”;
char digit;
int c;
int i=0;
FILE *rfp,*wfp;
if(argc=2access(argv[1],0)==0)
strcpy(filename,argv[1]);
else
{
printf(“輸入待轉換的文件名:”);
gets(filename);
if(access(filename,0)!=0)
{printf(“文件[%s]不存在”,filename);exit(-1);}
}
if((rfp=fopen(filename,”rb”))==NULL)
{printf(“文件[%s]打不開”,filename);exit(-1);}
strcat(filename,”.out”);
if((wfp=fopen(filename,”wb”))==NULL)
{fclose(rfp);printf(“輸出文件[%s]打不開”,filename);exit(-1);}
while(!feof(rfp))
{
c=fgetc(rfp);
if(c=’0’c=’9′)
{
if(!i++) digit=c;//記下初個數字
}
else
{
if(i==1) fputc(digit,wfp);
else if(i1)fprintf(wfp,”%s”,p);
i=0;
if(c!=EOF||!feof(rfp))//防止結束前的最後一個被寫入
fputc(c,wfp);
}
}
fclose(wfp);
fclose(rfp);
printf(“處理完畢!\n”);
system(“pause”);
}
//前幾天回答過一回,只是大號正被禁封,回答被刪除,新建的小號又看到這個題還沒採納滿意回答,而程序還在硬碟上,就再來回答一次,程序通過VC7調試可正常行
//不知道我理解得對不對,”123 1 12345″ 替成 “DIGIT 1 DIGIT”,是否合題意?
C語言編程,寫一函數digit(n,k),它把數n從右邊起的第k位數字的值給出來,其中n為正整數,若n的位數不足k
#includestdio.h
int digit(int n,int k)
{
int i,temp1,temp2;
for(i = 0;i k; i++)
{
temp1 = n%10;
n = n/10;
}
return temp1;
}
void main()
{
int n,k,result;
printf(“請輸入數字n和k:\n”);
scanf(“%d %d”,n,k);
result = digit(n,k);
printf(“%d從右邊數第%d位為%d”,n,k,result);
}
很簡單的,你先看看,不懂了再問。望採納!
原創文章,作者:SNSQ,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/144578.html