1021 个位数统计(C语言)

1021 个位数统计(C语言)_第1张图片
想法
想法1:%最后一位数字,遍历找出相同数字,并记下个数;/ 再次重复上述操作;
想法2:定义一个从0-9的数组,遍历;

思路
按照想法二来做
(1):定义两个数组,一个是正整数N,另一个是从0-9的数组;
(2):运用指针知识;
(3):循环k次(即N的个数次),使用switch-case,结合0-9的数组,将0-9的个数分别赋给这个数组;
(4):按条件输出;

程序

#include
int main()
{
	char n[1001];
	int a[10]={0},i;
	scanf("%s",n);
	char* d=n; //(1)(2)

	while(*d)
		{
			switch(*d){
				case '0':a[0]++;break;
				case '1':a[1]++;break;
				case '2':a[2]++;break;
				case '3':a[3]++;break;
				case '4':a[4]++;break;
				case '5':a[5]++;break;
				case '6':a[6]++;break;
				case '7':a[7]++;break;
				case '8':a[8]++;break;
				case '9':a[9]++;break;
			}
			d++;
		}//(3)
		for(i=0; i<10; i++)
			{
				if(a[i]>0)
			printf("%d:%d\n",i,a[i]);
			}//(4)
	return 0;
}

反思
写出程序后,再次溢出,指针知识并没有掌握,需要回顾并学习指针知识,相信自己,大方向没有错误,也渐渐形成了自我独立思考问题的能力,并结合别人的想法找出最适合自己的做法,切忌焦躁;

你可能感兴趣的:(pat乙级)