‘壹’ c语言问题 统计不同数字的个数。
#include<stdio.h>
#include<stdlib.h>
intmain()
{
inta[30];
intnum=0;
inti=0;
intn=0;
intc;
for(c=0;c<20;c++)
{
scanf("%d",&a[c]);
}
for(n=0;n<20;n++)
{
//for(i=n+1;a[i]!=NULL;i++)//a[i]!=NULL,a[i]是int类型,怎么和NULL比较,这是什么逻辑
for(i=n+1;i<20;i++)
//if(a[i]==a[n])//也不能这么判断,如果555,num=3,而不是num=2,只判断不同数字即可
//{
//num++;
//}
if(a[i]==a[n])
break;
if(i==20)//a[n]和后面的每一个数字都不一样,不同的数字加1
{
num++;
}
}
//num=20-num;
printf("%d",num);
return0;
}
‘贰’ c语言问题 统计不同数字个数
/*
由键盘输入20个整数(由空格分隔开),统计不同数字个数
*/
#include <stdio.h>
int main()
{
int num[20] = {0};
int i=0;
for( ;i<20;++i )
{
scanf("%d",&num[i]);
}
int size = 0;
int isfind = 0;
for( i=0;i<20;++i )
{
int j = 0;
for( ;j<i;++j )
{
if( num[j] == num[i] )
{
isfind = 1;
break;
}
}
if( isfind == 1 )
{
++size;
isfind = 0;
}
}
printf("\n%d\n",size );
return 0;
}
‘叁’ c语言 for 循环 数据统计问题:从键盘输入一批任意数量的整数,统计其中不大于100的非负数数值的个数。
你的程序不管是不是负数a都会增加
continue;是执行下一次循环但是同时a也增加了并不会因为coninue而没增加
只需在判断b是否会负数的地方a--就可以达到要的效果,代码如下:
#include <stdio.h>
void main()
{
long int a, b;
for(a=0; b!=0; a++)
{
printf("please input interal numbers and input 0 to stop:");
scanf("%ld", &b);
if (b<0)
{
a--;
continue;
}
printf("\n");
}
printf("suitable number: %d\n", a-1);
}
‘肆’ 请问c语言当中,如何统计数字各自出现的次数
实现代码:
#include <stdio.h>
int main() {
int num = 0, i = 0;
printf("请输入一个整数:");
scanf("%d", &num);
int array[10] = {};
while(num) {
array[num % 10]++; //让数组下标代表所判断的数字
num /= 10;
}
for (i = 0; i < 10; i++) {
if (array[i] != 0)
printf ("%d有%d个 ", i, array[i]);
return 0;
}
(4)c语言中统计问题扩展阅读:
printf用法:
printf()函数的调用格式为:printf("&lt;格式化字符串&gt;",&lt;参量表&gt;)。
其中格式化字符串包括两部分内容:一部分是正常字符,这些字符将按原样输出;另一部分是格式化规定字符,以"%"开始,后跟一个或几个规定字符,用来确定输出内容格式。
参量表是需要输出的一系列参数,其个数必须与格式化字符串所说明的输出参数个数一样多,各参数之间用","分开,且顺序一一对应,否则将会出现意想不到的错误。
比如:
inta=1234;
printf("a=%d\n",a);
输出结果为a=1234。