生如蝼蚁当立鸿鹄之志,命薄似纸应有不屈之心!

  学编程必须动手敲代码,所以刷题是硬道理。

  题目来源:菜鸟教程 C语言实例

  对某些题目做了一些小改动,并加入了自己的学习笔记和理解,代码不是原教程中的代码,是我自己作为练习写的,每块代码都测试了,应该是没有问题,但不足之处仍无可避免,如有问题,还请各位大佬批评指正。


文章目录

  • 1、输出 "Hello, World!"
  • 2、输出整数
  • 3、输出单个字符
  • 4、输出浮点数
  • 5、两个整数相加
  • 6、两个浮点数相乘
  • 7、字符转 ASCII 码
  • 8、多组输入两整数相除,如果有余数,输出余数。
  • 9、比较两个数的大小
  • 10、比较三个数的大小
  • 11、计算 int, float, double 和 char 字节大小
  • 12、交换两个数的值
  • 13、多组输入,判断奇数/偶数
  • 14、循环区间范围内的奇数/偶数
  • 15、多组输入,判断元音/辅音
  • 16、多组输入,求一元二次方程的解
  • 17、多组输入,判断闰年
  • 18、多组输入,判断正数/负数
  • 19、多组输入,判断字母
  • 20、计算自然数的和
  • 21、九九乘法表
  • 22、斐波那契数列
  • 23、求两数的最大公约数
  • 24、求两数的最小公倍数
  • 25、计算阶乘
  • 26、输出26个英文字母
  • 27、判断用户输入的数据为几位数
  • 28、计算一个数的 n 次方
  • 29、判断素数
  • 30、输出水仙花数
  • 31、判断回文数
  • 32、求一个数的所有因数
  • 33、创建各类三角形图案
    • 1、正直角三角形
    • 2、翻转直角三角形
    • 3、正数字直角三角形
    • 4、翻转数字直角三角形
    • 5、正字母直角三角形
    • 6、翻转字母直角三角形
    • 7、正金字塔三角形
    • 8、翻转金字塔三角形
    • 9、菱形
    • 10、杨辉三角
    • 11、弗洛伊德三角形
  • 34、表格形式输出数据
  • 35、实现简单的计算器

1、输出 “Hello, World!”

使用 scanf() 来接收输入,使用 printf() 输出 “Hello, World!”。

#include <stdio.h>int main(void)
{printf("Hello World!\n");return 0;
}
//#是一个引用的标志
//include是英语引用的意思
//<stdio.h>是库函数中的一个函数
//格式化输入输出函数,standard+input+output缩写而成.h是头文件后缀
//int main void)的意思是main函数的返回值类型为int,参数为空
//printf();函数是格式化打印的意思,print是打印的意思
//printf中的f有的地方说是format格式化的意思,也有的地方说是function函数的意思
//\n是转义字符,表示换行
//return 0表示函数返回值为0
Hello World!

2、输出整数

使用 scanf() 来接收输入,使用 printf()%d格式化输出整数。

#include <stdio.h>int main(void)
{int number = 0;//定义一个整型变量a,并初始化为0\scanf("%d", &number);//格式化输入函数,取number的地址存放用户输入的数值printf("%d\n", number);//%d格式化打印整型参数,传递参数areturn 0;
}
1
1

3、输出单个字符

使用 scanf() 来接收输入,使用 printf()%c格式化输出一个字符。

#include <stdio.h>int main(void)
{char ch = 0;//定义一个字符型变量ch,并初始化为0\scanf("%c", &ch);//格式化输入函数,取ch的地址存放用户输入的字符printf("%c\n", ch);//%d格式化打印字符,传递参数chreturn 0;
}
a
a

4、输出浮点数

使用 scanf() 来接收输入,使用 printf()%f 输出浮点数。

#include <stdio.h>int main(void)
{float number = 0;//定义一个单精度浮点型变量number,并初始化为0\scanf("%f", &number);//格式化输入函数,取number的地址存放用户输入的字符printf("%f\n", number);//%f格式化打印浮点型数据,传递参数numberreturn 0;
}
1
1.000000

5、两个整数相加

使用 scanf() 来接收输入, printf()%d 格式化输出整数。

#include <stdio.h>int main(void)
{int a, b;//定义两个整形变量,用来存放两个整数printf("请输入两个整数,我来计算两个数的和:\n");scanf("%d%d", &a, &b);//取ab的两个地址来存放用户输入的数据printf("您输入的两个整数的和为%d\n", a + b);//传递的参数为a+breturn 0;
}
请输入两个整数,我来计算两个数的和:
520 521
您输入的两个整数的和为1041

6、两个浮点数相乘

输入两个浮点数,计算乘积,结果保留两位小数。

#include <stdio.h>int main(void)
{float a, b;printf("请输入两个数,我来计算两个数的乘积:\n");scanf("%f%f", &a, &b);printf("您输入的两个数的积为%.2f\n", a * b);return 0;
}
请输入两个数,我来计算两个数的乘积:
520 521.1415926
您输入的两个数的积为270993.63

7、字符转 ASCII 码

ASCII值 控制字符 ASCII值 控制字符 ASCII值 控制字符 ASCII值 控制字符
0 NUT 32 (space) 64 @ 96
1 SOH 33 ! 65 A 97 a
2 STX 34 " 66 B 98 b
3 ETX 35 # 67 C 99 c
4 EOT 36 $ 68 D 100 d
5 ENQ 37 % 69 E 101 e
6 ACK 38 & 70 F 102 f
7 BEL 39 71 G 103 g
8 BS 40 ( 72 H 104 h
9 HT 41 ) 73 I 105 i
10 LF 42 * 74 J 106 j
11 VT 43 + 75 K 107 k
12 FF 44 , 76 L 108 l
13 CR 45 - 77 M 109 m
14 SO 46 . 78 N 110 n
15 SI 47 / 79 O 111 o
16 DLE 48 0 80 P 112 p
17 DCI 49 1 81 Q 113 q
18 DC2 50 2 82 R 114 r
19 DC3 51 3 83 S 115 s
20 DC4 52 4 84 T 116 t
21 NAK 53 5 85 U 117 u
22 SYN 54 6 86 V 118 v
23 TB 55 7 87 W 119 w
24 CAN 56 8 88 X 120 x
25 EM 57 9 89 Y 121 y
26 SUB 58 : 90 Z 122 z
27 ESC 59 ; 91 [ 123 {
28 FS 60 < 92 / 124 |
29 GS 61 = 93 ] 125 }
30 RS 62 > 94 ^ 126 `
31 US 63 ? 95 _ 127 DEL
#include <stdio.h>int main(void)
{char ch = 0;printf("请输入一个字符:\n");scanf("%c", &ch);printf("%d", ch);return 0;
}
请输入一个字符:
A
65

8、多组输入两整数相除,如果有余数,输出余数。

#include <stdio.h>int main(void)
{int a, b;printf("请输入了两个整数:\n");while (~scanf("%d%d", &a, &b))//多次输入判断条件,也可以写成scanf("%d%d", &a, &b)!=EOF{if (a % b == 0){printf("您输入的两个数的商为%d\n", a / b);}else{printf("您输入的两个数的商为%d,余数为%d\n", a / b, a % b);}}return 0;
}
请输入了两个整数:
9 3
您输入的两个数的商为3
9 5
您输入的两个数的商为1,余数为4
2021 66
您输入的两个数的商为30,余数为41

9、比较两个数的大小

int main(void)
{int a, b;//这里以整型为例,声明两个整形变量用来存放两个数。printf("请输入了两个整数:\n");scanf("%d%d", &a, &b);if (a > b){printf("%d>%d", a, b);}else if(b<a){printf("%d>%d", b, a);}else{printf("%d=%d", a, b);}return 0;
}
请输入了两个整数:
55 58
58>55

10、比较三个数的大小

#include <stdio.h>int main() {int a, b, c;//声明三个整型变量printf("请输入三个整数\n");scanf("%d%d%d", &a, &b, &c);//如果直接比较应该有10种大小关系,这里只比较谁最大或者是否存在相等。if (a > b && a > c){printf("%d最大", a);}else if (b > a && b > c){printf("%d最大", b);}else if (c > a && c > b){printf("%d最大", c);}else{printf("有两个或三个数值相等");}return 0;
}
请输入三个整数
45 99 98
99最大

11、计算 int, float, double 和 char 字节大小

使用 sizeof 操作符计算int, float, doublechar四种变量字节大小。

#include <stdio.h>int main()
{int a = 0;float b = 0;double c = 0;char d = 0;printf("int所占字节大小为%d\n", sizeof(int));//sizeof只是个运算符,类似于+-*/不是个函数printf("float所占字节大小为%d\n", sizeof(float));printf("double所占字节大小为%d\n", sizeof(double));printf("char所占字节大小为%d\n", sizeof(char));return 0;
}
int所占字节大小为4
float所占字节大小为4
double所占字节大小为8
char所占字节大小为1

12、交换两个数的值

#include <stdio.h>int main()
{int a, b;int temp;//临时变量printf("请输入两个整数a,b的值:\n");scanf("%d%d", &a, &b);printf("a=%d,b=%d\n", a, b);temp = a;a = b;b = temp;printf("交换后a=%d,b=%d\n", a, b);return 0;
}
请输入两个整数a,b的值:
520 521
a=520,b=521
交换后a=521,b=520

13、多组输入,判断奇数/偶数

#include <stdio.h>int main()
{int a = 0;printf("请输入一个整数:\n");while (~scanf("%d", &a)){if (a % 2 == 0){printf("您输入的数是偶数\n");}else if (a % 2 != 0){printf("您输入的数是奇数\n");}}return 0;
}
请输入一个整数:
2020
您输入的数是偶数
2021
您输入的数是奇数

14、循环区间范围内的奇数/偶数

#include <stdio.h>int main()
{int n1, n2;int i = 0;printf("您输入您要输出的区间范围\n(例如(输入0 100表示输出0到100之间的所有偶数))\n请选择:>>>");scanf("%d%d", &n1, &n2);for (i = n1; i >= n1 && i <= n2; i++){if (i % 2 == 0){printf("%d ", i);}}return 0;
}
您输入您要输出的区间范围
(例如(输入0 100表示输出0到100之间的所有偶数))
请选择:>>>33 99
34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98

15、多组输入,判断元音/辅音

  英语有26个字母,元音只包括 a、e、i、o、u 这五个字母,其余的都为辅音。y是半元音、半辅音字母,但在英语中都把他当作辅音。

#include <stdio.h>int main()
{char ch = 0;printf("请输入多个英文字母\n");while (~scanf("%c", &ch) && ch != '\n')//多组输入遇到换行停止{if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u' || ch == 'A' || ch == 'E' || ch == 'I' || ch == 'O' || ch == 'U'){printf("您输入的字母是元音\n");}else{printf("您输入的字母是辅音\n");}}return 0;
}
请输入多个英文字母
abcDEFG
您输入的字母是元音
您输入的字母是辅音
您输入的字母是辅音
您输入的字母是辅音
您输入的字母是元音
您输入的字母是辅音
您输入的字母是辅音

16、多组输入,求一元二次方程的解

  求一元二次方程:ax 2+bx+c=0 的根。

  输入三个实数a,b,c的值,且a不等于0。

#include <stdio.h>
#include <math.h>//sqrt()需要引用<math.h>库函数头文件int main()
{float a, b, c;float x1, x2;float det;printf("请输入a,b,c的值,其中a不等于0。\n");while (~scanf("%f%f%f", &a, &b, &c)){det = b * b - 4 * a * c;//Δ=b*b-4*a*cif (a != 0 && det > 0)//方程有两个解{x1 = (-b - sqrt(det)) / (2 * a);x2 = (-b + sqrt(det)) / (2 * a);printf("方程的的根x1=%.2f,x2=%.2f\n", x1, x2);}else if (a != 0 && det == 0)//方程有两个相同的解{x1 = (-b - sqrt(det)) / (2 * a);x2 = (-b + sqrt(det)) / (2 * a);printf("方程的的根x1=x2=%.2f\n", x1);}else if (a != 0 && det < 0)//方程无实数解{printf("方程无实数解\n");}if (a == 0)//a等于0{printf("a等于0的话原式不再是一元二次方程,请重新输入。\n");break;}}return 0;
}
请输入a,b,c的值,其中a不等于0。
5 12 13
方程无实数解
1 -2 1
方程的的根x1=x2=1.00
1 5 1
方程的的根x1=-4.79,x2=-0.21
0 1 2
a等于0的话原式不再是一元二次方程,请重新输入。

17、多组输入,判断闰年

  闰年是公历中的名词。闰年分为普通闰年和世纪闰年。

  普通闰年:公历年份是4的倍数的,且不是100的倍数,为普通闰年(如2004年、2020年就是闰年)。

  世纪闰年:公历年份是整百数的,必须是400的倍数才是世纪闰年(如1900年不是世纪闰年,2000年是世纪闰年)。

#include <stdio.h>int main()
{int year = 0;printf("请输入几个年份:\n");while (~scanf("%d", &year)){if (year % 4 == 0){if (year % 100 == 0){printf("此年份是世纪闰年。\n");}else{printf("此年份是普通闰年。\n");}}else{printf("此年份不是闰年。\n");}}return 0;
}
请输入几个年份:
2000 2008 2020 2021
此年份是世纪闰年。
此年份是普通闰年。
此年份是普通闰年。
此年份不是闰年。

18、多组输入,判断正数/负数

  用户输入一个数字,判断该数字是正数还是负数或是零。

#include <stdio.h>int main()
{int number;printf("请输入几个整数: \n");while (~scanf("%d", &number)){if (number > 0){printf("你输入的是正数\n");}else if (number <0){printf("你输入的是负数\n");}else{printf("你输入的数是0\n");}}return 0;
}
请输入几个整数:
-1 0 1
你输入的是负数
你输入的数是0
你输入的是正数

19、多组输入,判断字母

#include <stdio.h>int main()
{char ch = 0;printf("请输入一串字符:\n");while (~scanf("%c", &ch) && ch != '\n'){if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')){printf("您输入的字符是字母\n");}else{printf("您输入的字符不是字母\n");}}return 0;
}
请输入一串字符:
a@1A
您输入的字符是字母
您输入的字符不是字母
您输入的字符不是字母
您输入的字符是字母

20、计算自然数的和

  自然数是指表示物体个数的数,即由0开始,0,1,2,3,4,……一个接一个,组成一个无穷的集体,即指非负整数。

#include <stdio.h>
int main()
{int i = 0, n = 0, sum = 0;printf("您需要计算多少个自然数的和\n请输入:");scanf("%d", &n);for (i = 0; i < n; i++){sum += i;}printf("自然数0-%d的和为%d\n", n - 1, sum);return 0;
}
您需要计算多少个自然数的和
请输入:10
自然数0-9的和为45

21、九九乘法表

  对于此类的题,类似于打印特殊三角形的题,我找到了近似通法的方法,详情可见我的另外一篇博客,点我进入

#include <stdio.h>
int main()
{int i, j;for (i = 1; i <= 9; i++)//这个所有的都是从1开始,注意{for (j = 1; j <= i; j++)//因为这里是递增的想1 2 3 4这样所以肯定有i来控制//i起初为1,打印效果第一行也为1个,所以这里应该是就<=i{printf("%d*%d=%d ", j, i, i * j);}printf("\n");//打印最外层循环换行}return 0;
}
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

22、斐波那契数列

  斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368…

#include <stdio.h>int main()
{int i, n;//i用来控制循环,n用来控制用户输入菲波那切数列的项数。int t1 = 1, t2 = 1, next = 0;//很显然t1+t2=next的规律,后面就是循环就好了printf("您要输出几项菲波那切数列的项数呢?\n请输入:");scanf("%d", &n);for (i = 0; i < n; i++){printf("%d ", t1);next = t1 + t2;t1 = t2;//往右挪一个,t1的值变成了t2,t2的值变成了next,以此类推。t2 = next;}return 0;
}
您要输出几项菲波那切数列的项数呢?
请输入:9
1 1 2 3 5 8 13 21 34

23、求两数的最大公约数

#include <stdio.h>int main()
{int a, b;int i = 0;int gy = 0;printf("请输入两个整数:\n");scanf("%d%d", &a, &b);for (i = 1; i <= a && i <= b; i++)//注意i要从1开始,因为0不能做除数{if ((a % i == 0) && (b % i == 0)){gy = i;}}printf("您输入的两个整数的最大公约数为%d", gy);return 0;
}
请输入两个整数:
25 5
您输入的两个整数的最大公约数为5

24、求两数的最小公倍数

#include <stdio.h>int main()
{int a, b;int i = 0;int gb = 0;//这个变量是核心,最小公倍数的求法,就是先找到这两个数中的最大值,//如果满足这个最大值刚好可以被这两个数整除,那么该数就是这两个数的最小公倍数,如果不是那就+1printf("请输入两个整数:\n");scanf("%d%d", &a, &b);//先将两个数的最大值找出来if (a >= b){gb = a;}else{gb = b;}//开始判断while (1){if (gb % a == 0 && gb % b == 0){printf("您输入的两个整数的最大公约数为%d", gb);break;}else{gb++;}}return 0;
}
请输入两个整数:
25 5
您输入的两个整数的最大公约数为25

25、计算阶乘

  一个正整数的阶乘(英语:factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!。

  n!=1×2×3×…×n

#include <stdio.h>int main()
{int n = 0;int i = 0;int jc = 1;printf("请输入多个自然数:\n");while (~scanf("%d", &n)){jc = 1;//第二组数据输入后jc要归1if (n < 0){printf("非法输入\n");}else if (n == 0){printf("0!=1\n");}else if (n > 0){for (i = 1; i <= n; i++){jc *= i;}printf("%d!=%d\n", n, jc);}}return 0;
}
请输入多个自然数:
-1 0 1 2 3 4 5
非法输入
0!=1
1!=1
2!=2
3!=6
4!=24
5!=120

26、输出26个英文字母

#include <stdio.h>int main(void)
{char ch = 0;printf("输入d显示大写字母,输入x显示小写字母: ");scanf("%c", &ch);if (ch == 'd'){for (ch = 'A'; ch <= 'Z'; ch++){printf("%c ", ch);}}else if (ch == 'x'){for (ch = 'a'; ch <= 'z'; ch++){printf("%c ", ch);}}else{printf("非法输入\n");}return 0;
}
输入d显示大写字母,输入x显示小写字母: d
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

27、判断用户输入的数据为几位数

  用户输入数据,判断该数字是几位数。

#include <stdio.h>int main(void)
{int number = 0; //用来存放用户输入的数值int count = 0;//用来记录我们猜测的数值位数。printf("请输入一个数,我来判断你输入的是几位数:\n");scanf("%d", &number);while (number != 0)//当number/10等于0时{number = number / 10;//更新numbercount++;//先更新在记录,先记录在更新的话记录的是前一次数值的位数。}printf("您所输入的数是%d位数", count);return 0;
}
请输入一个数,我来判断你输入的是几位数:
123456756
您所输入的数是9位数

28、计算一个数的 n 次方

#include <stdio.h>int main(void)
{int x, y;int result = 1;int flag = 0;printf("请输入底数:");scanf("%d", &x);printf("请输入指数:");scanf("%d", &y);flag = y;while (flag != 0){result *= x;flag--;}printf("%d的%d次方是%d\n", x, y, result);
}
请输入底数:2
请输入指数:10
2的10次方是1024

29、判断素数

#include <stdio.h>int main()
{int n, i, flag = 0;printf("输入一个正整数: ");scanf("%d",&n);for(i=2; i<=n/2; ++i){// 符合该条件不是素数if(n%i==0){flag=1;break;}}if (flag==0)printf("%d 是素数",n);elseprintf("%d 不是素数",n);return 0;
}
输入一个正整数:
1
1 不是素数。
输入一个正整数:
2
2是素数。
输入一个正整数:
67
67是素数。

30、输出水仙花数

  水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)

#include <stdio.h>int main(void)
{int number;int a, b, c;//分别存放个位数,十位数,百位数。printf("所有的水仙花数:\n");for (number = 100; number < 999; number++){a = number % 10;b = number / 10 % 10;c = number / 100;if (number == (a * a * a + b * b * b + c * c * c)){printf("%d ", number);}}return 0;
}
所有的水仙花数:
153 370 371 407

31、判断回文数

  设n是一任意自然数。若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数。例如,若n=1234321,则称n为一回文数;但若n=1234567,则n不是回文数。

这个题我之前也有一篇博客中写到了,比较详细,可以康康,点我进入

#include <stdio.h>int main(void)
{int number = 0;int n_number = 0;int last_number = 0;int flag = 0;printf("请输入一个数:\n");scanf("%d", &number);flag = number;number = flag;while (number != 0){last_number = number % 10;n_number = n_number * 10 + last_number;number = number / 10;}number = flag;if (n_number == number){printf("您输入的数是回文数。\n");}else{printf("您输入的数不是回文数。\n");}return 0;
}
请输入一个数:
1234321
您输入的数是回文数。
请输入一个数:
123
您输入的数不是回文数。

32、求一个数的所有因数

int main(void)
{int number = 0;int i = 0;printf("请输入一个整数\n");scanf("%d", &number);for (i = 1; i <= number; i++)//0不可做除数从1开始{if (number % i == 0){printf("%d ", i);}}return 0;
}
请输入一个整数
24
1 2 3 4 6 8 12 24

33、创建各类三角形图案

  这类题有个近似的通法,我之前的博客有写到,而且比这个全一点,博客点我进入


1、正直角三角形

#include <stdio.h>int main(void)
{int n;int i, j;printf("请输入您要输出的直角三角形的边数:\n");scanf("%d", &n);for (i = 0; i < n; i++){for (j = 0; j < i+1 ; j++){printf("* ");}printf("\n");}return 0;
}
请输入您要输出的直角三角形的边数:
5
*
* *
* * *
* * * *
* * * * *

2、翻转直角三角形

int main(void)
{int n;int i, j;printf("请输入您要输出的翻转直角三角形的边数:\n");scanf("%d", &n);for (i = 0; i < n; i++){for (j = 0; j < n - i ; j++){printf("* ");}printf("\n");}return 0;
}
请输入您要输出的翻转直角三角形的边数:
5
* * * * *
* * * *
* * *
* *
*

3、正数字直角三角形

#include <stdio.h>int main(void)
{int n;int i, j;printf("请输入您要输出的数字直角三角形的边数:\n");scanf("%d", &n);for (i = 0; i < n; i++){for (j = 0; j < i + 1 ; j++){printf("%d ",j);}printf("\n");}return 0;
}
请输入您要输出的数字直角三角形的边数:
5
0
0 1
0 1 2
0 1 2 3
0 1 2 3 4

4、翻转数字直角三角形

#include <stdio.h>int main(void)
{int n;int i, j;printf("请输入您要输出的翻转数字直角三角形的边数:\n");scanf("%d", &n);for (i = 0; i < n; i++){for (j = 0; j < n - i ; j++){printf("%d ",j);}printf("\n");}return 0;
}
请输入您要输出的翻转数字直角三角形的边数:
5
0 1 2 3 4
0 1 2 3
0 1 2
0 1
0

5、正字母直角三角形

#include <stdio.h>int main(void)
{int n;int i, j;printf("请输入您要输出的字母直角三角形的边数:\n");scanf("%d", &n);for (i = 0; i < n; i++){for (j = 0; j < i + 1 ; j++){printf("%c ",j + 65);}printf("\n");}return 0;
}
请输入您要输出的字母直角三角形的边数:
5
A
A B
A B C
A B C D
A B C D E

6、翻转字母直角三角形

#include <stdio.h>int main(void)
{int n;int i, j;printf("请输入您要输出的翻转字母直角三角形的边数:\n");scanf("%d", &n);for (i = 0; i < n; i++){for (j = 0; j < n - i ; j++){printf("%c ",j + 65);}printf("\n");}return 0;
}
请输入您要输出的翻转字母直角三角形的边数:
5
A B C D E
A B C D
A B C
A B
A

7、正金字塔三角形

#include <stdio.h>int main(void)
{int n;int i, j;printf("请输入您要输出的金字塔三角形的行数:\n");scanf("%d", &n);for (i = 0; i < n; i++){for (j = 0; j < n - i ; j++){printf(" ");}for (j = 0; j < i + 1; j++){printf("* ");}printf("\n");}return 0;
}
请输入您要输出的金字塔三角形的行数:
5** ** * ** * * ** * * * *

8、翻转金字塔三角形

#include <stdio.h>int main(void)
{int n;int i, j;printf("请输入您要输出的翻转金字塔三角形的行数:\n");scanf("%d", &n);for (i = 0; i < n; i++){for (j = 0; j < i + 1; j++){printf(" ");}for (j = 0; j < n - i; j++){printf("* ");}printf("\n");}return 0;
}
请输入您要输出的翻转金字塔三角形的行数:
5* * * * ** * * ** * ** **

9、菱形

#include <stdio.h>
int main(void)
{int n = 0;int i = 0, j = 0;while (~scanf("%d", &n)){for (i = 0; i < n; i++){for (j = 0; j < i; j++){printf(" ");}for (j = 0; j < n - i; j++){printf("* ");}printf("\n");}}return 0;
}
3* * * * * *
* * * * * * * * * *

10、杨辉三角

#include <stdio.h>int main()
{int rows = 0;//行数int number = 1;//数字值int space = 0;//空格int i, j = 0;//控制循环printf("行数: ");scanf("%d", &rows);for (i = 0; i < rows; i++){for (space = 1; space <= rows - i; space++)printf("  ");for (j = 0; j <= i; j++){if (j == 0 || i == 0)number = 1;elsenumber = number * (i - j + 1) / j;printf("%4d", number);}printf("\n");}return 0;
}
行数: 811   11   2   11   3   3   11   4   6   4   11   5  10  10   5   11   6  15  20  15   6   11   7  21  35  35  21   7   1

11、弗洛伊德三角形

#include <stdio.h> int main()
{int i, j, l;int n;printf("您要输出几行\n请输入:");scanf("%d", &n);for (i = 0, l = 1; i < n; i++)//新增一个变量l{for (j = 0; j < i + 1; j++, l++)//让l在内层循环后加1,第二行的话就成了2开头了{printf("%4d", l);}printf("\n");}return 0;
}
您要输出几行
请输入:812   34   5   67   8   9  1011  12  13  14  1516  17  18  19  20  2122  23  24  25  26  27  2829  30  31  32  33  34  35  36

34、表格形式输出数据

#include <stdio.h> int main()
{int i, j, l;int n;printf("您要输出几行\n请输入:");scanf("%d", &n);for (i = 0, l = 1; i < n; i++){for (j = 0; j < 10; j++, l++){printf("%4d", l);}printf("\n");}return 0;
}
您要输出几行
请输入:101   2   3   4   5   6   7   8   9  1011  12  13  14  15  16  17  18  19  2021  22  23  24  25  26  27  28  29  3031  32  33  34  35  36  37  38  39  4041  42  43  44  45  46  47  48  49  5051  52  53  54  55  56  57  58  59  6061  62  63  64  65  66  67  68  69  7071  72  73  74  75  76  77  78  79  8081  82  83  84  85  86  87  88  89  9091  92  93  94  95  96  97  98  99 100

35、实现简单的计算器

# include <stdio.h>int main()
{char ch;double n1, n2;printf("输入操作符 (+, -, *, \\):\n ");scanf("%c", &ch);printf("输入两个数字: ");scanf("%lf %lf", &n1, &n2);switch (ch){case '+':printf("%.2lf + %.2lf = %.2lf", n1, n2, n1 + n2);break;case '-':printf("%.2lf - %.2lf = %.2lf", n1, n2, n1 - n2);break;case '*':printf("%.2lf * %.2lf = %.2lf", n1, n2, n1 * n2);break;case '/':printf("%.2lf / %.1lf = %.2lf", n1, n2, n1 / n2);break;default:printf("非法输入\n");}return 0;
}
输入操作符 (+, -, *, \):+
输入两个数字: 2020 2021
2020.00 + 2021.00 = 4041.00

C语言实例练习(上)相关推荐

  1. C语言实例第6期:反转字符串

    C语言文章更新目录 C语言学习资源汇总,史上最全面总结,没有之一 C/C++学习资源(百度云盘链接) 计算机二级资料(过级专用) C语言学习路线(从入门到实战) 编写C语言程序的7个步骤和编程机制 C ...

  2. C语言实例第5期:在控制台打印100-200之间的所有素数

    C语言文章更新目录 C语言学习资源汇总,史上最全面总结,没有之一 C/C++学习资源(百度云盘链接) 计算机二级资料(过级专用) C语言学习路线(从入门到实战) 编写C语言程序的7个步骤和编程机制 C ...

  3. C语言实例第4期:交换数组中最大数和最小数的位置

    C语言文章更新目录 C语言学习资源汇总,史上最全面总结,没有之一 C/C++学习资源(百度云盘链接) 计算机二级资料(过级专用) C语言学习路线(从入门到实战) 编写C语言程序的7个步骤和编程机制 C ...

  4. C语言实例第3期:在控制台打印出著名的杨辉三角

    C语言文章更新目录 C语言学习资源汇总,史上最全面总结,没有之一 C/C++学习资源(百度云盘链接) 计算机二级资料(过级专用) C语言学习路线(从入门到实战) 编写C语言程序的7个步骤和编程机制 C ...

  5. C语言实例第2期:判断某一年是否为闰年

    C语言文章更新目录 C语言学习资源汇总,史上最全面总结,没有之一 C/C++学习资源(百度云盘链接) 计算机二级资料(过级专用) C语言学习路线(从入门到实战) 编写C语言程序的7个步骤和编程机制 C ...

  6. 单片机c语言参考文献最新,[2018年最新整理]10个单片机C语言实例.doc

    [2018年最新整理]10个单片机C语言实例 经典单片机实验帮你成功 1. 闪烁灯 1. 实验任务 如图4.1.1 所示:在P1.0 端口上接一个发光二极管L1,使L1 在不停地一亮一 灭,一亮一灭的 ...

  7. c语言中把一个数缩小十倍_C语言实例第04期,在控制台打印出著名的杨辉三角...

    点击上方"C语言中文社区",选择"设为星标★" 技术干货第一时间送达! 往期回顾: C语言实例第01期,十进制数转换二进制数 C语言实例第02期,判断某一年是否 ...

  8. java单引号转义_Java基础入门——Java语言基础(上)

    本篇我们开始进入Java的学习,首先在学习如何编写Java语言前要先了解Java程序的基本结构. 一.Java程序的基本结构 一个Java程序的基本结构大体可以分为包.类.main()主方法.标识符. ...

  9. (篇一)作为一个程序猿,这些C语言实例你必须会!

    文章目录 C语言简介 八层灯塔数量问题 百元买鸡问题 比较字符串大小 打印九九乘法表 打渔晒网问题 本篇主要简单介绍一下C语言.因为本人最近有C语言的相关考试,在漫长的复习过程,总得有点乐趣吧,就顺便 ...

最新文章

  1. 魔兽War3按键精灵Ⅱ(2012-9-4)
  2. linux 系统优化,调优
  3. KVM配置之(3)- 克隆
  4. python程序中想使用正则表达式_python中正则表达式的使用方法
  5. 重磅:2020年度国家科技奖初评结果出炉!
  6. 美团搜索中查询改写技术的探索与实践
  7. 【重点!记忆化递归+DP】LeetCode 72. Edit Distance
  8. 曲线救国:提高github下载速度到2MB/s
  9. 很不错的js幻灯片代码分享
  10. LBS (基于位置服务)-- Location Based Service
  11. iozone联机测试
  12. 批处理(bat)遍历文件夹下所有文件
  13. net share命令删除共享
  14. 手机qq2010java触屏_手机QQ2010(Java触屏)Beta2发布:操作更流畅
  15. 汇总我关注的技术博主的2021年度总结
  16. 深度学习系列25:注意力机制
  17. oracle gho系统吗,系统镜像GHO、WIM、ESD几种格式的区别
  18. TestLink汉化操作
  19. Teamcity的安装与使用
  20. c语言程序设计精髓 第三周练兵题

热门文章

  1. steam linux游戏_在Linux上使用Steam改善游戏性能的6条提示
  2. 信息收集之CMS源码(二)
  3. Mysql安装错误码1722_SolidWorks安装失败错误之1722错误该如何解决?
  4. Linux电源管理(四)CPUFreq
  5. JAVA电子通讯录项目报告_基于jsp的通讯录-JavaEE实现通讯录 - java项目源码
  6. java回顾:私服搭建
  7. iview实现视频文件上传
  8. 安全基础--29--Grails开发基础操作与配置
  9. [Erlang]-1-Erlang基础教程全解析
  10. 前端点击按钮打印Excel