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

来源:互联网 发布:淘宝开店要两个银行卡 编辑:程序博客网 时间:2024/03/29 14:46

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

 

例:用随机函数产生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个随机整数的数组 arrayint count[10];//声明统计个位数为1、2、3、....个数的数组 countint i;//声明for循环中用于循环的变量iint 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()函数产生真正随机数的用法,另附文章详细说明

 

 

原创粉丝点击