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

C語言求輸出的次數

發布時間: 2022-10-20 05:43:07

① 用c語言統計數字出現的次數

b[a[i]]++; a[i] 是數組元素,數值在0-9范圍內,所以b[a[i]] 總在 b[0]到b[9]之間。
b[] 已初始化為 0。
b[a[i]]++; 是 b[a[i]]=b[a[i]]+1; 它是累加器。
可以看成: x=a[i]; b[x]=b[x]+1; 第一次 b[x]++變1,第二次 b[x]++變2, 第三次 b[x]++變3。 例如 i=1,7,9 時 x=5,b[5] 累加3次變3。 這樣就統計出5出現的次數了。

② c語言求解!輸入100個1~50的數字,輸出每個數字出現的次數。。。。

#include <stdio.h>

#define MAX_COUNT 100
#define MAX 50

typedef struct{
int data;
int count;
}NODE;

int main(void)
{
int i, j, x, n = 0;
NODE node[MAX_COUNT]={0};

printf("Please enter %d number(1~%d):\n", MAX_COUNT, MAX);

for(i=0; i<MAX_COUNT; i++)
{
scanf("%d", &x);

if(x > MAX)
{
printf("Invalid number! Number must less or equal to %d. Enter again.\n", MAX);
i = i-1;
continue;
}

for(j=0; j<i; j++)
{
if (x == node[j].data)
{
node[j].count++;
break;
}
}
if (j == i)
{
node[n].data = x;
node[n].count = 1;
n++;
}
}

for(i=0; i<n; i++)
{
printf("data: %d, count: %d\n", node[i].data, node[i].count);
}
return 0;
}

③ C語言 統計字元出現次數

#include <stdio.h>

int main()

{ int i,n=0;

char c,s[100];

gets(s);

c=getchar();

for(i=0; s[i]; i++)

if(c==s[i])n++;

printf("%d",n);

return 0;

}

④ 在c語言中,輸入幾個數字,怎樣輸出其中出現最多的數字,並且輸出數字出現的最大次數

#include<stdio.h>
intmain(){
intn=10;
inta[10]={1,2,3,4,4,4,5,5,5,5};
intb[10],len=0,count[10];
inti,j,max=0;
for(i=0;i<n;i++){
for(j=0;j<len;j++){
if(a[i]==b[j]){
count[j]++;
break;
}
}
if(j==len){
b[len]=a[i];
count[len]=1;
len++;
}
}
for(j=1;j<len;j++)
if(count[j]>count[max])
max=j;
printf("max=%d,times=%d ",b[max],count[max]);

return0;
}

⑤ c語言 輸出連續最多的數和連續次數

首先,對於下標最大為n-1的數組,你用for ( j=i;j<n;j++ )然後後面用if ( s[j]==s[j+1] )進行判斷時,當j等於n-1時會由於j+1導致溢出。
然後,程序沒有對數據末尾連續相等並且一直到尾的情況進行處理(比如:0 0 0或1 1 1等),導致j循環結束時不會保存最後一次判斷的結果。比如,你程序判斷0的次數為3了但是由於j循環結束導致沒有保存這個等於3的a值。結果是0是因為sn數組在debug中運行自動被清0,否則輸出不一定是這樣。
建議修改一下演算法:
int s[200],sn[200];
int i=0,n=0,j=0,a=1,k=0,max=0,l=0,x; //增加變數x記錄當前比較數值
while (scanf("%d", &s[n]) != EOF) {
n++;
}
i=0; k=-1; x=s[i]-1; //保證x不等於第1個數
while ( i<n )
{ if ( s[i]==x ) sn[k]++; //如果相等,個數加1
else { k++; sn[k]=1; s[k]=x=s[i]; } //如果當前數不等於s[i],記錄這個數
i++;
}
for (i=0; i<k+1; i++) { //實際數據個數為k+1個
if (sn[i]>=max) {
l=i;
max=sn[i];
}
}
printf("%d %d\n",max,s[l]);

⑥ c語言怎麼輸出循環次數

可以在循環體外定義個變數count,循環體中放入count++,在需要輸出的地方輸出就好了呀

⑦ C語言程序 輸入一字元串 求該字元串中出現次數最多的字元 並輸出該字元和其出現次數

/*輸入字元串str,把str給str_sort,對str_sort中的字元排序,在str_sort中統計每個字元出現的次數並比較輸出最多的*/
#include<stdio.h>
#include<conio.h>
#include<string.h>
int main()
{
char str[100],str_sort[100],c;
int i,j,len,m;
printf("Please input a string:");
gets(str); //輸入字元串
strcpy(str_sort,str); //把字元串str復制到str_sort中,str_sort將重新排序
len=strlen(str_sort); //字元串長度
for(i=0;i<len-1;i++) //對str_sort中的字元排序
for(j=0;j<len-i-1;j++)
if(str_sort[j]>str_sort[j+1])
{
c=str_sort[j];
str_sort[j]=str_sort[j+1];
str_sort[j+1]=c;
}
/*從str_sort第二個字元開始,
①比較字元,是不是和前一個字元相同,相同則 j 加1,不同則說明這是新的字元,j 即是前一個字元出現的次數
②比較次數,m記錄最多的次數,j > m,則m更新,並用 c 記錄對應的字元*/
for(i=1,j=1,m=0;i<len;i++)
if(str_sort[i]!=str_sort[i-1])
{
if(j>m)
{
m=j;
c=str_sort[i-1];
}
j=1;
}
else
j++;
printf("Most one is:%c %d\n",c,m); //輸出
getch();
return 0;
}

⑧ 編寫一個程序:輸入一個字元,可是實現n次輸出c語言

main(){
chara;intn=8;
scanf("%c",&a);
while(n>0){printf("%c",a);n--;}
getch();}