在程序中,首先從鍵盤輸入一個(gè)正整數(shù),然后利用循環(huán)計(jì)算該數(shù)的各位數(shù)字之和,并把結(jié)果存儲(chǔ)在變量 `sum` 中。
創(chuàng)新互聯(lián)是一家專注于成都做網(wǎng)站、網(wǎng)站建設(shè)與策劃設(shè)計(jì),南樂網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:南樂等地區(qū)。南樂做網(wǎng)站價(jià)格咨詢:13518219792
告訴你方法,很簡單的就不寫代碼了。手機(jī)無力,首先定義一個(gè)累加變量sum,然后用輸入的這個(gè)整數(shù)每次除以10,sum把除以10的余數(shù)累計(jì)起來,然后依次循環(huán)直到輸入的整數(shù)為0就結(jié)束。
注:N mod 10表示N對10取余 N / 10,因?yàn)樵谟?jì)算機(jī)里如果N是整數(shù),N/10也是整數(shù)(自動(dòng)向下取整)上面的一些術(shù)語是對計(jì)算機(jī)來說的,不知道高中數(shù)學(xué)可不可以用。
如果不用log函數(shù),并假設(shè)輸入的數(shù)indata是非負(fù)整數(shù),則可以如下:int n,s;n = 0;s = 0;while (indata ){ n++;s += indata 10;indata /= 10;} 位數(shù)在n中,和在s中。
使用字符讀取函數(shù)getchar即可。getchar(),從stdio流中讀字符,C語言標(biāo)準(zhǔn)庫中它實(shí)際上是getc(stdin)。define getchar() getc(stdin)函數(shù)從標(biāo)準(zhǔn)輸入里讀取下一個(gè)字符。
%c可以輸出字符比如英文字母、漢字、特殊字符和數(shù)字還有%lf、%ld等可以去了解一下。 C語言中用scanf控制輸入,printf控制輸出。
scanf是C語言中的一個(gè)輸入函數(shù),與printf函數(shù)一樣,都被聲明在頭文件stdio.h里,因此在使用scanf函數(shù)時(shí)要加上#include 。(在有一些實(shí)現(xiàn)中,printf函數(shù)與scanf函數(shù)在使用時(shí)可以不使用預(yù)編譯命令#include 。
并且整數(shù)和字符之間沒有任何分割。那么你輸入10 A 20 B后,10被賦給了a1,空格被賦給了c1,接著空格被賦給了a2,后面的數(shù)字被賦給了c2。所以錯(cuò)了。應(yīng)該寫成scanf(%d %c %d %c),這樣就OK了。
利用for循環(huán)來輸入一連串的整數(shù),輸入一串字符就可用putchar()函數(shù)。
要符合語法要求,C語言中規(guī)定,標(biāo)識(shí)符有數(shù)字、字母、下劃線(_)組成,而且第1符號(hào)只能為字母或者下劃線。標(biāo)識(shí)符的命名,盡量便于閱讀。如問題中的sum用于表示兩數(shù)之和,就容易理解。
sum一般都是求和的意思。sum并不是C語言固有的關(guān)鍵字,一般是人們習(xí)慣性將變量或者求和函數(shù)定義為sum。因?yàn)閟um的英文意思為“求和。所以它也可以表示別的意思,但一般人們習(xí)慣性的是求和。
main(){ int a,b,sum;a=1,b=2;sum=a+b;printf(sum is %d\n,sum);} sum是a+b的和 printf(sum is %d\n,sum); //意思是 和是sum 在C語言中sum不是一個(gè)標(biāo)準(zhǔn)庫函數(shù)。不過在VS2008中有__sum函數(shù)。
c語言中sum,意思是求和,min的意思是最小值。SUM函數(shù)指的是返回某一單元格區(qū)域中數(shù)字、邏輯值及數(shù)字的文本表達(dá)式之和。
sum是自定義的 用作什么 都可以 不過 由于sum的英文是加和 所以 一般sum用作變量的時(shí)候 是保存累加結(jié)果的 用作函數(shù)的時(shí)候 是用來做累加的。