![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
火的毅力
这个作者很懒,什么都没留下…
展开
-
C语言中用do while解决阶乘之和问题
南大科院-《C语言程序设计实验指导与习题解答》-P38-第3题-解答#include <stdio.h>//定义阶乘函数long JieC(int i){ if(i==1) return 1;//递归头 else return i*JieC(i-1);}int main() {long sum=0,n,m=1; printf("请输入要求的阶乘之和:"); ...原创 2018-11-10 12:46:52 · 4374 阅读 · 1 评论 -
白话经典算法系列之六 快速排序 快速搞定
快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现快速排序的身影。总的说来,要直接默写出快速排序还是有一定难度的,因为本人就自己的理解对快速排序作了下白话解释,希望对大家理解有帮助,达到快速排序,...转载 2019-01-24 19:22:50 · 110 阅读 · 0 评论 -
找出数组中最大数和次最大数,并和a[0],a[1]交换位置
#include <stdio.h>#define N 20void fun(int *a, int n){ int i, m, t, k; for (i = 0; i < 2; i++)//a[0],a[1] { m = i; for (k = i; k < n; k++)//遍历数组,找出最大数和次最大数 ...原创 2018-12-24 10:41:31 · 7108 阅读 · 0 评论 -
一道计算机二级的题目
输入两个正整数m和n(m<n),求m到n之间(包括m和n)所有素数的和,要求定义并调用函数isprime(x)来判断x是否为素数(素数是除1以外只能被自身整除的自然数)。#include<stdio.h>#include<math.h>#include<Windows.h>int isprime(int x);void swap(int *x,i...原创 2018-12-22 22:06:05 · 1242 阅读 · 0 评论 -
阶乘函数 递归调用
#include"stdio.h"long fun(n)//递归调用–》自己调用自己 自定义阶乘函数{if(n==1)return 1;elsereturn n*fun(n-1);}main( ){int num=0;printf(“请输入num的值:”);scanf("%d",&num);printf("%ld\n",fun(num));}...原创 2018-11-19 11:14:05 · 1373 阅读 · 0 评论 -
关于冒泡排序的应用
比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较#include"stdio.h"void bubble_sort(int a[], int n);//声明函数int ma...原创 2018-11-12 18:06:56 · 1384 阅读 · 0 评论 -
C语言中打印图形问题
C语言中打印图形问题上半部分规律:星号数目是行数的二倍减一,空格数是上半部分总行数减去它所在的行号;下半部分规律:从下半部分开始算起,每行星号数是2line-2n-1,空格数目为它所在的行号//更新版,调整了代码风格以及变量的设置。#define _CRT_SECURE_NO_WARNINGS#include &amp;lt;stdio.h&amp;gt; int main(){ int lin...转载 2018-11-08 15:33:38 · 3322 阅读 · 0 评论 -
C语言应用宏定义解决三角形的面积问题
#include <stdio.h>#include<math.h>#define s(a,b,c) ((0.5)*((a)+(b)+(c)))#define area(s,a,b,c) sqrt((s)*((s)-(a))*((s)-(b))*((s)-(c)))main(){ double a,b,c,s1,areal; printf("请输入三角形的三边长...原创 2018-11-10 16:24:21 · 1238 阅读 · 0 评论 -
break语句的题目
用break语句实现求100以内的正整数中为15的倍数的最大数#include <stdio.h>main(){ int n=1,m;//利用n来控制次数同时作为1-100之间的数 while(1){//造成无限循环 if(n%15==0) m=n;//m作为存放的变量 if(n>100) break;//跳出循环的条件 n++; } printf("100以内...原创 2018-11-10 15:58:45 · 1120 阅读 · 0 评论 -
关于从键盘上输入一个十进制的整数的问题
#include <stdio.h>main(){int n,sum=0;printf(“请输入一个十进制的整数:”);scanf("%d",&n);while(n)//不断分离位数{sum+=n%10;//从个位开始取数并求和n/=10;//去掉最后位数}printf(“该整数的每一位数字之和为%d\n”,sum);system(“pause”);}...原创 2018-11-10 15:20:23 · 1124 阅读 · 0 评论 -
C语言求两个数的最大公约数和最小公倍数
辗转相除法, 又名欧几里德算法(Euclidean algorithm),是求最大公约数的一种方法。它的具体做法是:用较小数除较大数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。最小公倍数等于两数之积除以其最大公约数#include <stdio.h>...原创 2018-11-10 14:43:56 · 761 阅读 · 0 评论 -
C语言题目从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时,结束输入。
Q:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时,结束输入。#include <stdio.h>void main(){ float x,amax,amin; scanf("%f",&x); amax=x; amin=x; while(x>=0) { if(x>amax) amax=x; if(x<ami...原创 2018-11-10 13:10:59 · 76202 阅读 · 4 评论 -
C Primer Plus-第7章-编程练习-第6题
Q:编写程序读取输入,读到#停止,报告ei出现的次数#include&lt;stdio.h&gt;int main(void){ char ch; char prv; int cout=0; printf("请输入字符串:"); while((ch=getchar())!='#') { if(pre=='e'&amp;&amp;ch=='i') { co原创 2019-03-05 18:39:20 · 312 阅读 · 0 评论