//给定k(1<k<100)个正整数,其中每个数都是大于等于1,小于等于10的数。 //写程序计算给定的k个正整数中,1,5和10出现的次数。 //输入 // 输入有两行:第一行包含一个正整数k,第二行包含k个正整数,每两个正整数用一个空格分开。 //输出 // 输出有三行,第一行为1出现的次数,第二行为5出现的次数,第三行为10出现的次数。 #include<stdio.h> int main() { int k;//需要输入的正整数的个数 int i,j;//循环变量,必须在此声明,才能在下面使用,不能要使用的时候才声明它,vc++6.0不支持!! int a[100]={0};//把输入的正整数先存入数组中,初始化全为0。 int count1=0,count5=0,count10=0;//1,5,10的计数器 scanf("%d",&k); for(i=0;i<k;++i) { scanf("%d",&a[i]);//注意不能在"%d"里面加空格,否则程序有问题(要多输入一个数字) } for(j=0;j<k;j++)//for循环遍历数组中的每个数字并统计每个数字的出现次数 { if(a[j]==1) count1++; if(a[j]==5) count5++; if(a[j]==10) count10++; } printf("%d\n",count1); printf("%d\n",count5); printf("%d\n",count10); return 0; }
--====================================================================
不用数组:
#include <stdio.h> int main() { int i, k, x,//循环变量i,整数个数k,整数值x. int a1, a5, a10;//统计1,5,10个数的变量。 a1 = a5 = a10 = 0; scanf("%d", &k); for (i = 1;i <= k;++i) { scanf("%d", &x); if (x == 1) ++a1; if (x == 5) ++a5; if (x == 10) ++a10; } printf("%d\n%d\n%d\n", a1, a5, a10); }
时间: 2024-12-20 21:35:57