
C语言一百例
闪烁shimmer
学无止境!
展开
-
C语言一百例第二十八例
代码:/*C语言第二十八例题目:利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。程序分析:无。*/#include <stdio.h>int n;int main(){ int i=5; printf("请输入5个字符: "); palin(i); //递归函数 printf("\n");}void palin(n){ char next; if(n<=1) {原创 2022-04-11 13:29:35 · 687 阅读 · 0 评论 -
C语言一百例第二十六例
代码:/*C语言第二十六例题目:利用递归方法求5!。程序分析:递归公式:fn=fn_1*4!*/#include <stdio.h>int main(){ int i; int fact(int); //递归函数 for(i=0;i<6;i++) { printf("%d!=%d\n",i,fact(i)); }}int fact(int j){ int sum; if(j==0)原创 2022-04-10 15:39:32 · 290 阅读 · 0 评论 -
C语言一百例第二十五例
代码:/*C语言第二十五例题目:求1+2!+3!+...+20!的和。程序分析:此程序只是把累加变成了累乘。*/#include <stdio.h>void main(void){ int a; double b=1,sum=0; for(a=1;a<=20;a++) { b=b*a; sum=sum+b; } printf("%Lf\n",sum);}运行结果:..原创 2022-04-10 15:18:53 · 180 阅读 · 0 评论 -
C语言一百例第二十四例
代码:/*C语言第二十四例题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。程序分析:请抓住分子与分母的变化规律。*/#include <stdio.h>void main(void){ int a,d; //定义所需变量 float sum=0,b=2,c=1; //定义所需变量 for(a=1;a<=20;a++) //循环二十次原创 2022-04-10 14:57:36 · 279 阅读 · 0 评论 -
C语言一百例第二十三例
代码:/*C语言第二十三例题目:打印出如下图案(菱形)。 * *** ************ ***** *** *程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重for循环,第一层控制行,第二层控制列。*/#include <stdio.h>void main(void){ int a,b,c; for(a=1;a<=4;a++) //第一到第四行是一个规律,所以先循环四次 {原创 2022-04-09 15:55:44 · 379 阅读 · 0 评论 -
C语言一百例第二十二例
代码:/*C语言第二十二例题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。*/#include <stdio.h>void main(void){ char i,j,k; for(i='x';i<='z';i++) { for(j='x';j<='z';j++) {转载 2022-04-09 15:32:49 · 92 阅读 · 0 评论 -
C语言一百例第二十一例
代码:/*C语言第二十一例题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下 的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。程序分析:采取逆向思维的方法,从后往前推断。1) 设x1为前一天桃子数,设x2为第二天桃子数, 则:x2=x1/2-1, x1=(x2+1)*2x3=x2/2-1, x2=(x3+1)*2以此类推: x前=(x后+1)原创 2022-04-09 15:03:34 · 195 阅读 · 0 评论 -
c语言一百例第二十例
代码:/*C语言第二十例题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?程序分析:见下面注释。*/#include <stdio.h>void main(void){ float a,b; a=b=100; //落下第一次接触地面,100,记录下来,第二次小球弹起来,又要掉下去,等于100的一半乘以二,以此类推。 a=a/2; for(int c=2原创 2022-04-08 13:58:13 · 326 阅读 · 0 评论 -
C语言一百例第十九例
代码:/*C语言第19例题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。程序分析:请参照:C 练习实例14。*/#include<stdio.h>#define N 1000int main(){ int i,j,k,n,sum; int a[256]; for(i=2;i<=N;i++) { sum=a[0]=1; k=0;转载 2022-04-08 13:26:58 · 107 阅读 · 0 评论 -
C语言一百例第十八例
代码:/*C语言第十八例题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制。程序分析:关键是计算出每一项的值*/#include <stdio.h>void main(void){ int a,b,c,d=0; //定义四个变量,前两个变量是输入的值,第三个变量是数据的,假如只有一个相加就是本身,两个就是乘以10加a,为保证数相同。 p原创 2022-04-08 12:49:30 · 133 阅读 · 0 评论 -
C语言一百例第十七例
代码:/*C语言第十七例题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。程序分析:利用while语句,条件为输入的字符不为'\n'。*/#include <stdio.h>void main(void){ char c; int letters=0,spaces=0,digits=0,others=0; printf("请输入一些字母:\n"); while((c=getchar())!='\n') {原创 2022-04-07 13:31:19 · 353 阅读 · 0 评论 -
C语言一百例第十六例
代码:/*C语言第十六例题目:输入两个正整数m和n,求其最大公约数和最小公倍数。程序分析:(1)最小公倍数=输入的两个数之积除于它们的最大公约数,关键是求出最大公约数;(2)求最大公约数用辗转相除法(又名欧几里德算法)1)证明:设c是a和b的最大公约数,记为c=gcd(a,b),a>=b,令r=a mod b设a=kc,b=jc,则k,j互素,否则c不是最大公约数据上,r=a-mb=kc-mjc=(k-mj)c可知r也是c的倍数,且k-mj与j互素,否则与前述k,j互原创 2022-04-07 12:59:18 · 77 阅读 · 0 评论 -
C语言一百例第十五例
代码:/*C语言第十五例题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。程序分析:(a>b)?a:b这是条件运算符的基本例子。*/#include <stdio.h>void main(void){ int a; char grade; printf("请输入一个分数:\n"); scanf("%d",&a); grade=(a>=9原创 2022-04-07 12:38:01 · 93 阅读 · 0 评论 -
C语言一百例第十四例
代码:/*C语言第十四例题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于(小于的时候,继续执行循环)n,则说明分解质因数的过程已经结束,另外 打印出即可。(2)但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n.重复执行第二步。(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。*/#include <stdio.h>原创 2022-04-06 22:47:33 · 155 阅读 · 0 评论 -
C语言一百例第十三例
代码:/*C语言第十三例打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数 本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。*/#include <stdio.h>void main(void){ int a,b,c,d; for(a=100;a<1000;a++) { b=a/10...原创 2022-04-06 22:23:22 · 322 阅读 · 0 评论 -
C语言一百例第十二例
代码:/*C语言第十二例判断 101 到 200 之间的素数。程序分析:判断素数的方法:用一个数分别去除 2 到 sqrt(这个数-1),如果能被整除,则表明此数不是素数,反之是素数。输出不是素数的数*/#include <stdio.h>void main(void){ int a,b,c=0; for(a=101;a<201;a++) { for(b=2;b<a;b++) //题目说是到这个数,我觉得是...原创 2022-04-06 22:07:43 · 165 阅读 · 0 评论 -
C语言一百例第十一例
代码:/*C语言第十一例题目:古典问题(兔子生崽):有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?(输出前40个月即可)程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....,即下个月是上两个月之和(从第三个月开始)。*/#include <stdio.h>void main(void){ int i; long f1=1,f2=1; f...原创 2022-04-06 17:41:55 · 367 阅读 · 0 评论 -
C语言一百例第十例
代码:/*C语言第十例题目:打印楼梯,同时在楼梯上方打印两个笑脸。程序分析:用 ASCII 1 来输出笑脸;用i控制行,j来控制列,j根据i的变化来控制输出黑方格的个数。*/#include <stdio.h>void main(void){ int a,b; printf("\1\1\n"); //效果是一样的 for(a=0;a<10;a++) //不再赘述 { for(b=0;b<=...原创 2022-04-05 17:33:15 · 73 阅读 · 0 评论 -
C语言一百例第九例
代码:/*C语言第九例题目:要求输出国际象棋棋盘。程序分析:国际象棋棋盘由64个黑白相间的格子组成,分为8行*8列。用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格。*/#include <stdio.h>void main(void){ int a,b; //定义两个变量 for(a=0;a<8;a++) //八列循环八次 { for(b=0;b<8;b++)//八行循...原创 2022-04-05 17:20:43 · 460 阅读 · 0 评论 -
C语言一百例第八例
代码:/*C语言第八例题目:输出9*9口诀。程序分析:分行与列考虑,共 9 行 9 列,i 控制行,j 控制列。*/#include <stdio.h>void main(void){ int a,b,c; //定义三个变量 for(a=1;a<10;a++) //1-9循环 { for(b=a;b<10;b++)//循环一个减少一个 { c=a*b; ...原创 2022-04-05 17:08:22 · 83 阅读 · 0 评论 -
C语言一百例第七例
代码://程序分析:字符共有256个。不同字符,图形不一样。就是输出对应的不同的字符。#include <stdio.h>void main(void){ char a=1,b=9; printf("%c%c%c%c%c\n",b,a,b,a,b); printf("%c%c%c%c%c\n",a,b,a,b,a); printf("%c%c%c%c%c\n",a,a,b,a,a); printf("%c%c%c%c%c\n",a,b,a,b...原创 2022-04-02 23:08:08 · 346 阅读 · 0 评论 -
C语言一百例第六例
代码:#include <stdio.h>void main(void){ printf("用^输出字母C!\n\n"); printf("^^^^^^^\n"); printf("^\n"); printf("^\n"); printf("^\n"); printf("^\n"); printf("^\n"); printf("^^^^^^^\n");}运行结果:...原创 2022-04-02 22:49:52 · 432 阅读 · 0 评论 -
C语言一百例第五例
代码:#include <stdio.h>void main(void){ int a,b,c,d; printf("请输入三个整数:\n"); scanf("%d,%d,%d",&a,&b,&c); if(a>b) //比较第一个和第二个数,满足条件则a和b换个位置 { d=a; a=b; b=d; } if(a>c) //比较第一个和第...原创 2022-04-02 22:44:23 · 288 阅读 · 0 评论 -
C语言一百例第四例
代码:#include <stdio.h>void main(void){ int year,month,day,sum,temp; printf("请输入日期年月日:\n"); scanf("%d,%d,%d",&year,&month,&day); switch(month) //假设现在是三月,则前两个月天数加起来,再加本月天数即可 { case 1:sum=0;...原创 2022-03-31 13:29:02 · 322 阅读 · 0 评论 -
C语言一百例第三例
代码:#include <stdio.h>int main (void){ int i, j, m, n, x; for (i = 1; i < 168 / 2 + 1; i++) { if (168 % i == 0) { j = 168 / i; if ( i > j && (i + j) % 2 == 0 && (i - j) % ...原创 2022-03-31 12:59:44 · 330 阅读 · 0 评论 -
C语言一百例第二例
代码:#include <stdio.h>void main(void){ double a; //先定义输入常量 double b,c,d,e,f,g; //定义各种情况得到的奖金 b=100000*0.1; //当低于等于十万时候的奖金 c=b+100000*0.075; //当十万到二十万的奖金 d=c+200000*0....原创 2022-03-30 17:51:01 · 321 阅读 · 0 评论 -
C语言一百例第一例
代码:#include <stdio.h> //定义头文件void main(void) //主函数,没有返回值,则用空(void){ int a,b,c; //定义三个变量 for(a=1;a<5;a++) //多重循环...原创 2022-03-30 17:15:51 · 483 阅读 · 0 评论