【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()函数产生真正随机数的用法,另附文章详细说明
- 【C语言】 计数、求和、求阶乘等简单算法
- c算法-阶乘求和
- 阶乘求和的简单算法
- C语言经典算法100例-026-递归求阶乘
- 【C语言】求阶乘与阶乘之和
- C语言求大数阶乘
- C语言递归求阶乘
- c的求和、阶乘、平方算法
- n的阶乘分之一求和;求更简单的方法。
- C语言实现求大数阶乘
- C语言求10000的阶乘
- C语言 求一个大数的阶乘
- c语言学习---------递归函数求阶乘
- 求N的阶乘C语言程序
- c语言递归求n的阶乘
- C语言之递归求阶乘
- 使用递归法求阶乘(C语言)
- C语言求N阶乘的方法
- 关于旁路电容的深度对话
- 杭电hdu 3790 最短路径问题 dijkstra
- this application has requested the runtime to terminate it in an unusual way
- MFC框架类、文档类、视图类相互访问的方法
- 安装arm-elf-tools-20030314.sh 的问题的解决方法
- 【C语言】 计数、求和、求阶乘等简单算法
- Java Native Methods 例子
- 重学设计模式 - Strategy模式
- build/envsetup.sh 简介
- wchar_t与char(系统默认编码集,非UTF8)的转换
- tiny210 ubuntu 1104 编译过程
- d-pointer
- 介绍linux中的程序
- arm-elf-tools -20040427.sh 下载及安装问题的解决