C语言统计输入数的正负以及零的个数
生活随笔
收集整理的這篇文章主要介紹了
C语言统计输入数的正负以及零的个数
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
首先我們先分析下列問(wèn)題:
我們只需進(jìn)行20次循環(huán),對(duì)輸入的20個(gè)數(shù)一個(gè)個(gè)進(jìn)行判斷即可;
代碼如下:
? ??#include<stdio.h>int main() {int num,pos_num=0,neg_num=0,zero=0,i;//聲明變量,分別用于存儲(chǔ)輸入的數(shù),printf("請(qǐng)輸入20個(gè)數(shù)字用空格隔開(kāi)\n"); //正數(shù)的個(gè)數(shù),負(fù)數(shù)的個(gè)數(shù),零的個(gè)數(shù)for(i=0;i<20;i++) //進(jìn)行20次循環(huán),所以一定要輸入20次; { scanf("%d",&num);if(num==0) //判斷數(shù)是否等于0,再次提醒判斷相等是=={zero++; //如果是,則零的個(gè)數(shù)加1}else if(num>=0) //否則判斷是否大于零{pos_num++; //是則正數(shù)個(gè)數(shù)加1} else{neg_num++; //都不是就是負(fù)數(shù)了} }printf("正數(shù)數(shù)量為:%d\n負(fù)數(shù)數(shù)量為:%d\n零的數(shù)量為:%d",pos_num,neg_num,zero);return 0; }?在實(shí)現(xiàn)上面題目后,我們可能會(huì)吐槽,一次要我輸入那么多數(shù),到底是想累死誰(shuí)???
????????我們能不能實(shí)現(xiàn)我們想輸入多少個(gè)數(shù)就輸多少個(gè)數(shù)呢?這時(shí)候我們就可以想到,我們定義一個(gè)數(shù)組,將我們輸入的數(shù)全部存儲(chǔ)起來(lái),再通過(guò)對(duì)數(shù)組的遍歷,一個(gè)一個(gè)判斷呢?
? ? ? ? 這里我提出一個(gè)問(wèn)題:
1.??????我隨機(jī)輸入n個(gè)數(shù),我寫(xiě)的程序要怎么知道我輸了多少個(gè)數(shù)呢?? ? ? ?
還請(qǐng)帶著這個(gè)問(wèn)題來(lái)看我寫(xiě)的以下程序,也許你就能了解到循環(huán)的好處;
代碼如下:
#include<stdio.h> #define N 1000 //明示常量N等于1000,便于后期更改,想處理多少個(gè)以?xún)?nèi)就可以改多少int main() {int i=0,count=0; //聲明一個(gè)count變量來(lái)記錄我們輸入了多少個(gè)數(shù)int num[N]={}; //聲明一個(gè)有長(zhǎng)度的空數(shù)組用于存儲(chǔ)我們輸入的所有數(shù)printf("請(qǐng)輸入隨機(jī)個(gè)數(shù)字用空格隔開(kāi),用回車(chē)結(jié)束\n");do{ //數(shù)組都是從0開(kāi)始存儲(chǔ)數(shù)據(jù)的,如num[100],就是從num[0]//一直存儲(chǔ)到num[99],一共存儲(chǔ)100個(gè)數(shù)據(jù);scanf("%d",&num[count]); //從數(shù)組的0號(hào)位置開(kāi)始存儲(chǔ)數(shù)據(jù)count++; //每次存儲(chǔ)后count加一,下次循環(huán)就可以在num[count+1]位置上 //存儲(chǔ)數(shù)據(jù)了}while(getchar() != '\n' ); //如果循環(huán)到發(fā)現(xiàn)是鍵盤(pán)輸入的回車(chē),代表用戶(hù)輸入完了,循環(huán)結(jié)束int pos_num=0,neg_num=0,zero=0; //聲明變量,分別用于存儲(chǔ)正數(shù)的個(gè)數(shù),//負(fù)數(shù)的個(gè)數(shù),零的個(gè)數(shù)for(i=0;i<count;i++) //從數(shù)組第一個(gè)開(kāi)始判斷,一直判斷到我們存儲(chǔ)的輸入的最后一個(gè)數(shù) { if(num[i]==0) //判斷數(shù)是否等于0,再次提醒判斷相等是=={zero++; //如果是,則零的個(gè)數(shù)1}else if(num[i]>=0) //否則如果大于零{pos_num++; //正數(shù)個(gè)數(shù)加1} else{neg_num++; //前倆個(gè)都不是就是負(fù)數(shù)了} //一輪循環(huán)結(jié)束,繼續(xù)判斷下一個(gè)數(shù)}printf("正數(shù)數(shù)量為:%d\n負(fù)數(shù)數(shù)量為:%d\n零的數(shù)量為:%d",pos_num,neg_num,zero);return 0; }總結(jié)
以上是生活随笔為你收集整理的C语言统计输入数的正负以及零的个数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: PayPal用户如何避免账户被冻结
- 下一篇: 有没有人告诉你