菜鸟教程C语言案例
I am dreamer.
这个作者很懒,什么都没留下…
展开
-
C语言练习实例——文件操作
文件操作,从键盘输入一些字符,逐个把它们送到磁盘上去,直到输入一个#为止。原创 2022-07-04 21:39:28 · 1720 阅读 · 0 评论 -
C语言实例——时间函数
C语言时间函数举例原创 2022-07-03 21:57:47 · 688 阅读 · 0 评论 -
C语言练习实例——案例练手
1.题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。原创 2022-07-02 23:18:05 · 162 阅读 · 0 评论 -
位运算实例讲解
位运算讲解原创 2022-07-01 22:40:20 · 122 阅读 · 0 评论 -
C语言练习实例——宏#define命令练习
宏#define命令练习原创 2022-06-01 05:27:11 · 325 阅读 · 0 评论 -
C语言练习实例——关键字register定义变量
关键字register定义变量原创 2022-06-01 05:23:39 · 251 阅读 · 0 评论 -
C语言练习实例43——static的另一用法
static的神秘用法原创 2022-06-01 05:15:59 · 89 阅读 · 0 评论 -
C语言练习实例42——学习使用auto定义变量的用法
题目:学习使用auto定义变量的用法。程序分析:无。#include <stdio.h>int main(){ int i,num; num=2; for(i=0;i<3;i++) { printf("num 变量为 %d \n",num); num++; { auto int num=1; printf("内置模块 num 变量为 %d \n",n原创 2022-04-02 23:05:12 · 889 阅读 · 0 评论 -
C语言练习实例41-static定义静态变量
题目:学习static定义静态变量的用法。程序分析:无。#include<stdio.h>int main(){ void fun(); for(int i=0;i<3;i++) fun(); return 0;}void fun(){ int i=0; static int static_i=0; printf("i=%d\n",i); printf("static_i=%d\n",static_原创 2022-04-01 23:17:35 · 1119 阅读 · 0 评论 -
C语言练习实例——排序
题目:对10个数进行排序。程序分析:可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换, 下次类推,即用第二个元素与后8个进行比较,并进行交换。#include <stdio.h>typedef void (*p_func)(int *, int);void select_sort(int *arr, int size) //选择排序{ int i = 0, j = 0; for(i = 0; i < size; i++)原创 2022-03-08 21:26:32 · 550 阅读 · 0 评论 -
C语言练习实例——筛选法获取素数
常规法:#include<stdio.h>#include<math.h>int main(){ int i,j,k,n=0; for(i=2;i<=100;i++) { k=(int)sqrt(i); for(j=2;j<=k;j++) if(i%j==0) break; if(j>k) { printf("%d ",原创 2022-03-07 22:07:03 · 2199 阅读 · 0 评论 -
C语言练习实例——质数(素数)判断
题目:判断一个数字是否为质数。程序分析:质数(prime number)又称素数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然数整除。#include<stdio.h>#include<math.h>//宏定义布尔类型#define BOOL int#define TRUE 1#define FALSE 0int main(){ int n; printf("输入一个大于1的自然数:\n"); scanf("%d"原创 2022-03-02 21:44:47 · 836 阅读 · 0 评论 -
C语言练习实例32——删除字符串中的字母
题目:删除一个字符串中的指定字母,如:字符串 "aca",删除其中的 a 字母。程序分析:无。#include<stdio.h>#include<string.h>int main(){ char c[1000]; printf("请输入原始字符串: \n"); fgets(c, (sizeof c / sizeof c[0]), stdin); char d; printf("请输入要删除的字符: \n"); sca原创 2022-03-02 21:41:17 · 1451 阅读 · 0 评论 -
C语言练习实例——判断星期
题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。#include<stdio.h> int main(){ char i,j; printf("请输入第一个字母:\n"); scanf("%c",&i); getchar();//scanf("%c",&j);的问题,第二次是读入的一个换行符,而不是输原创 2022-03-02 21:32:55 · 881 阅读 · 0 评论 -
C语言练习实例——反向输出
题目:利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。#include <stdio.h> int main(){ int i=5; void palin(int n); printf("请输入5个字符\40:\40"); palin(i); printf("\n");}void palin(n)int n;{ char next; if(n<=1) { next=getchar();原创 2022-02-27 15:14:42 · 1679 阅读 · 0 评论 -
C语言练习实例——字符串统计
题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。程序分析:利用while语句,条件为输入的字符不为'\n'。#include<stdio.h>int main(){ char c; int letters=0,spaces=0,digits=0,others=0; printf("请输入一些字母:\n"); while((c=getchar())!='\n') { if((c>='a'&&原创 2022-02-27 15:03:01 · 1499 阅读 · 0 评论 -
最大公约数的三种求法(C语言练习实例16)
题目:输入两个正整数m和n,求其最大公约数和最小公倍数。一.更相减损int gcd(int a,int b){ if(a==b) return a; else if(a>b) return gcd(a-b,b); else return gcd(b-a,a);}二.辗转相除迭代写法:int gcd(int a,int b){ int r; while(n!=0) {原创 2022-02-25 09:21:35 · 361 阅读 · 0 评论 -
C语言练习实例15——条件运算符的嵌套
题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。程序分析:(a>b)?a:b这是条件运算符的基本例子。#include<stdio.h>int main(){ int score; char grade; printf("请输入分数: "); scanf("%d",&score); grade=(score>=90)?'A':((score&g原创 2022-02-25 09:04:00 · 2935 阅读 · 0 评论 -
C语言练习实例14——质因数分解
题目:将一个正整数分解质因数。例如:输入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>int main(){.原创 2022-02-25 09:00:45 · 1347 阅读 · 0 评论 -
C语言练习实例13——水仙花数
题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数 本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。多重循环方法:#include<stdio.h>int main(void){ int sum, x, y, z; for(x=1;x<10;x++) for(y=0;y<10;..原创 2022-02-25 08:50:22 · 442 阅读 · 0 评论 -
C语言练习实例12——素数初级
题目:判断 101 到 200 之间的素数。程序分析:判断素数的方法:用一个数分别去除 2 到 sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。#include <stdio.h> int main(){ int i,j; int count=0; for (i=101; i<=200; i++) { for (j=2; j<i; j++) { // 如果原创 2022-02-25 08:45:25 · 149 阅读 · 0 评论 -
C语言练习实例11——兔子生崽
题目:古典问题(兔子生崽):有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?(输出前40个月即可)程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....,即下个月是上两个月之和(从第三个月开始)。迭代法:#include<stdio.h> int main(){ int f1=1,f2=1,i; for(i=1;i<=20;i++) //输出20组原创 2022-02-25 08:38:42 · 1051 阅读 · 0 评论 -
C语言练习实例10——趣味输出
题目:打印楼梯,同时在楼梯上方打印两个笑脸。程序分析:用 ASCII 1 来输出笑脸;用i控制行,j来控制列,j根据i的变化来控制输出黑方格的个数。#include<stdio.h> int main(){ int i,j; printf("\1\1\n"); /*输出两个笑脸*/ for(i=1;i<11;i++) { for(j=1;j<=i;j++) printf("%c%c",219,21原创 2022-02-24 10:43:41 · 280 阅读 · 0 评论 -
C语言练习实例9——输出国际象棋棋盘
题目:要求输出国际象棋棋盘。程序分析:国际象棋棋盘由64个黑白相间的格子组成,分为8行*8列。用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格。#include<stdio.h> int main(){ int i,j; for(i=0;i<8;i++) { for(j=0;j<8;j++) if((i+j)%2==0) printf("%c%c",原创 2022-02-24 10:39:51 · 2606 阅读 · 4 评论 -
C语言练习实例5——三数排序
题目:输入三个整数x,y,z,请把这三个数由小到大输出。程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。多轮交换形式:#include <stdio.h> int main(){ int x,y,z,t; printf("\n请输入三个数字:\n"); scanf("%d%d%d",&x,&y,&z原创 2022-02-24 10:33:24 · 1892 阅读 · 0 评论 -
C语言练习实例4
题目:输入某年某月某日,判断这一天是这一年的第几天?程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。最简洁代码:#include<stdio.h>int main(){ int year, month, day,sumday=0; int monthday[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; p原创 2022-02-24 10:25:14 · 174 阅读 · 0 评论 -
C语言练习实例3——好的思路胜过暴力求解
好的思路很重要!!!题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?程序分析:假设该数为 x。1、则:x + 100 = n2, x + 100 + 168 = m22、计算等式:m2- n2= (m + n)(m - n) = 1683、设置: m + n = i,m - n = j,i * j =168,i 和 j 至少一个是偶数4、可得: m = (i + j) / 2, n = (i - j) / 2,i 和 j 要么都..原创 2022-02-24 09:58:33 · 67 阅读 · 0 评论