當前位置:首頁 » 編程語言 » c語言countnum
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言countnum

發布時間: 2022-09-03 09:44:42

『壹』 求c語言判斷輸入整數個數的程序,就是隨便輸整數,不刻意記,然後輸出是整數的個數

#include <stdio.h>
/* 定義一行最大能輸入的字元數 */

#define MAXLEN 256

/* 統計一行中的有效整數個數(不含負數,需要負數請自行修改條件 */

int CountNum(char *Words)
{ int i,Valid,NewWord,Num;
Num=NewWord=0;
Valid=1;
for(i=0;Words[i]!=0;i++)
{ if(Words[i]==' '||Words[i]=='\t')
{ if(NewWord&&Valid)Num++;
NewWord=0;
Valid=1;
}
else if(Words[i]>='0'&&Words[i]<='9')
{ NewWord=1;
}
else Valid=0;
}
if(NewWord&&Valid)Num++;
return Num;
}

/* 主函數,連續輸入數據,輸入空行時表示輸入結束 */

int main()
{ char Words[MAXLEN];
int Num=0;
for(;;)
{ gets(Words);
if(strlen(Words)<1)break;
Num+=CountNum(Words);
}
printf("Total %d valid integer numbers\n",Num);
gets(Words);
return 0;
}

『貳』 c語言調用函數求一個整數數的位數

#include<stdio.h>
int
count
=
1;
int
calc(int
num){
while
(1
==
1)
{
count++;
num
/=
10;
if(num
<
0){
//小於0的數就變成正數
num
*=
-1;
}
if
(num
<
10)
{
break;
}
}
return
count;
}
void
main(){
int
num
=
0;
printf("請輸入一個數:");
scanf("%d",&num)
printf("數字%d是一個%d位數!",num,calc(num));
}

『叄』 關於C語言的兩個小問題

1.code:

#include<stdio.h>

#include<string.h>

intmain()

{

charstr[10000];

scanf("%s",str);

intlen=strlen(str);

charstr1[10500];

inti,j=0;

for(i=0;i<len;i++)

{

str1[j++]=str[i];

if((i+1)%4==0)/*每4個添加一個空格*/

str1[j++]='';

}

str1[j]='';/*添加字元結束符*/

printf("%s ",str1);

return0;

}

2.code:

#include<stdio.h>

#include<string.h>

intmain()

{

charstr[10000];

scanf("%s",str);

intlen=strlen(str);

inti,numCount=0,upCount=0,lowCount=0;

for(i=0;i<len;i++)

{

if(str[i]<='9'&&str[i]>='0')numCount++;

elseif(str[i]<='z'&&str[i]>='a')lowCount++;

elseif(str[i]<='Z'&&str[i]>='A')upCount++;

}

printf("number=%d,u_letter=%d,l_letter=%d ",numCount,upCount,lowCount);

return0;

}

『肆』 幫忙解釋下C語言中這兩行代碼的執行順序 for(count=0;count<3;count++) for(num=0;num<4;num++)

循環之前先輸出count和num的值,具體是多少由前面的程序決定
然後進入兩重循環,把count和num初始化為0
count=0,num=0,輸出0 0 ,num++ ->num=1

count=0,num=1,輸出0 1 ,num++ ->num=2
count=0,num=2,輸出0 2 ,num++ ->num=3
count=0,num=3,輸出0 3 ,num++ ->num=4
num=4不滿足num<4的條件,跳出內循環,然後count++ ->count=1
然後再次進入內循環,num 再次被賦值為0,然後循環四次
count=1,num=0,輸出1 0 ,num++ ->num=1

count=1,num=1,輸出1 1 ,num++ ->num=2
count=1,num=2,輸出1 2 ,num++ ->num=3
count=1,num=3,輸出1 3 ,num++ ->num=4
num=4不滿足num<4的條件,跳出內循環,然後count++ ->count=2
然後再次進入內循環,num 再次被賦值為0,然後循環四次
count=2,num=0,輸出2 0 ,num++ ->num=1

count=2,num=1,輸出2 1 ,num++ ->num=2
count=2,num=2,輸出2 2 ,num++ ->num=3
count=2,num=3,輸出2 3 ,num++ ->num=4
num=4不滿足num<4的條件,跳出內循環,然後count++ ->count=3
不滿足count<3的條件,跳出外循環,結束

『伍』 如何用C語言編寫一個程序,輸入10個0-9之間的整數,請統計每個數字出現的個數,並輸出

#include<stdio.h>
int num[10],count[10], i=0,temp;
//判斷輸入的數字是否是0到9之間的數
int input(int num){
if(num>=0&&num<=9){
return 1;
}else{
return 0;
}
}
//初始化計數的數組
void initCount(){
int i = 0;
for(i=0;i<10;i++){
count[i]=0;
}
}
//統計每個數字出現的次數
void numCount(int num){
int i;
for(i=0;i<10;i++){
if(i==num){
count[i]++;
}
}
}
//輸入數字
void runProm(){
initCount();
for(;i<10;){
printf("請輸入第%d個數:",(i+1));
scanf("%d",&temp);
if(input(temp)==1){
num[i]=temp;
numCount(num[i]);
i++;
}else{
printf("你輸入的數字不在0到9之間,請重新輸入!\n\n");
runProm();
}
}
}
void main(){
int i;
runProm();
//輸出每個數出現了幾次
for(i=0;i<10;i++){
printf("%d出現了%d次!\n",i,count[i]);
}
}

『陸』 i = Q->numCount -1在c語言中是什麼意思

一種可能是定義了一個結構體Q,結構體中有一個int型的成員變數numCount;這句話的意思是把結構體Q中的變數numCount的值減1賦給i;

『柒』 用C語言,編一程序,輸入十個數字,統計出現次數最多的數是多少,並寫出次數

/*我個人覺得這道題的難度在於,當出現有兩個或者兩個以上數字的出現次數相同時,程序是否能同時把這兩個出現次數相同的數字找出來。*/

//我使用的測試數據有3組,樓組可以輸入下面或者其他的測試數據來測試程序。
//第一組測試數據:23,798,5,23,0,321,4689,37,56,3300. 23出現兩次,為出現最多的數字
//第一組測試思量:有一個數字出現次數大於其餘數字,檢查在這種情況下程序是否正確。
//第二組測試數據是:23,798,5,10,0,321,4689,37,56,3300.所有數字都只出現一次,所以每個數字都符合題目要求,需要列印每個數字
//第二組測試思想:測試情況設置為每個數字只出現一次,並且1位、2位、3位、4位數字都有。
//第三組測試數據:23,798,5,10,798,321,4689,37,23,3300 23和798均出現兩次
//第三組測試思量:測試情況設置為有兩個數字出現次數一樣,檢查此時程序是否能同時把這兩個數字輸出
//我做的測試還是比較少的,但是能大致判斷應該是正確的。
//輸入的數字僅限整數。

#include<stdio.h>
#define MAX 10
void main()
{

int num[MAX];//num[i]數組用來存放第i個輸入的數字
int num_count[MAX]={1,1,1,1,1,1,1,1,1,1};//num_count[i]用來存放第i個輸入進來的數字的出現個數
int i,j;

printf("請輸入%d個數字:\n",MAX);
for(i=0;i<MAX;i++)
{
scanf("%d",&num[i]);

for(j=0;j<i;j++)//第i個輸入進來的數字和前面輸入數字進行比較
{
if(num[j]==num[i])
{
num_count[j]++;
break;
}
}
}

int find_max_num=num[0];//find_max_num用來存放出現次數最多的數字的值
int find_max_count=num_count[0];//find_max_coun用來存放出現次數最多的數字的出現次數

for(i=1;i<MAX;i++)
{
if(num_count[i]>find_max_count)
{
find_max_count=num_count[i];
find_max_num=num[i];
}
}
printf("出現最多的數字是%d,一共出現了%d次\n",find_max_num,find_max_count);

for(i=0;i<MAX;i++)
{
if((num[i]!=find_max_num) && (num_count[i]==find_max_count))
printf("出現最多的數字是%d,一共出現了%d次\n",num[i],num_count[i]);
}
getchar();
getchar();
}

『捌』 c語言,二維數組中查找指定元素個數

int
a[3][4];//這是定義一個3行4列的二維數組,3*4=12個元素
int
a[5][6];//這個就定義了一個5行6列的二維數組,5*6=30個元素
c語言的下標是從0開始編號的,編到行數與列數減1的位置,如int
a[3][4]
a[0][0]
a[0][1]
a[0][2]
a[1][0]
a[1][1]
a[1][2]
a[2][0]
a[2][1]
a[2][2]
這就與行列式的排列差不多。

『玖』 c語言,編一個函數,統計任意一串字元中數字字元的個數,並在主函數中調用此函數。

#include<stdio.h>
#include<string.h>
intconNumfromStr(char*,int);
intmain()
{
charstr[21];
printf("輸入20以內的字元:");
scanf("%s",str);
printf("字元串中數字字元個數為:%d",conNumfromStr(str,strlen(str)));
return0;
}
intconNumfromStr(char*p,intlen)//計數字元串中數字字元的個數
{
inti,con=0;
for(i=0;i<len;i++)
{
if(p[i]>='0'&&p[i]<='9')
con++;
}
returncon;
}

『拾』 C語言 任意輸入一個數,把各個數字分開,然後相加,怎麼做

你可以再新建一個變數來累加:

#include<stdio.h>
intmain()
{
inta,s=0,k;
scanf("%d",&a);
while(a)
{
k=a%10;
printf("%d ",k);
a=a/10;
s=s+k;/*這里是關鍵,用s變數來累加,注意s一開始要初始化為0*/
}
printf("%d",s);
}