当前位置:首页 » 编程语言 » 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();}