【C语言】 计数、求和、求阶乘等简单算法

计数、求和、求阶乘等简单算法,此类问题都要使用循环,要注意根据问题确定循环变量的初值,终值或结束条件,更要注意用来表示计数,和,阶乘的变量的初值。

 

例:用随机函数产生100个[0,99] 范围内的随机整数,统计个位上的数字分别为1,2,3,4,5,6,7,8,9,0的数字并打印出来。

本题使用数组来处理, 用数组a[100]存放产生的100个随机整数,数组X[10]来存放个位上的数字分别为1,2,3,4,5,6,7,8,9,0的数的个数。即个位是1的个数存放在X[1]中,个位是2的个数存放在X[2]中,.....个位是0的个数存放在X[10]中。

 

/*
 * main.c
 *
 *  Created on: 2012-4-29
 *      Author: Lee
 * Description: 用随机函数产生100个[0,99]范围内的随机整数,统计个位上数字分别为
 * 1、2、3、4、5、6、7、8、9、0的数的个数并打印出来
 */

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
	int array[101]; // 声明接收[0,99]范围内随机产生的的100个随机整数的数组 array
	int count[10];//声明统计个位数为1、2、3、....个数的数组 count
	int i;//声明for循环中用于循环的变量i
	int p;
	for(i=0;i<=10;i++)//将count数组初始化为零,即将统计个位数的个数初始化为零
	{
		count[i]=0;
	}
	printf("随机数表\n");
	srand((unsigned)time(0));//在调用rand()函数之前调用srand((unsigned)time(0)) 以time 函数值
	//(即当前时间)作为种子数,保证rand函数产生数值的真正随机性
	for(i=1;i<=100;i++)//生成100个随机整数
	{
		array[i] = rand()%100; // 获取一个[0,100)内的随机整数
		printf("%4d",array[i]); // 以4位的宽度输出array[i]
		if(0 == i%10)printf("\n"); //一行满10个数则换行
	}
	for(i=1;i<=100;i++)// 统计个位数的个数
	{
		p=array[i]%10;//获取个位上的数
		if(0 == p) p =10;//如果个位上的数字为0 则将p 赋值为10 ,用x[10]存储个位为0的个数
		count[p]=count[p]+1; // 个位数为p的相应数组值加1
	}
	for(i=1;i<=10;i++) //打印结果
	{
		p=i;
		if(10 == i)p = 0;
		printf("尾数为 %d 的个数 :%d\n",p,count[i]);
	}
	return 0;
}



 结果截图

 

备注: 关于rand()函数与srand()函数产生真正随机数的用法,另附文章详细说明

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值