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