学编程必须动手敲代码,所以刷题是硬道理。
题目来源:菜鸟教程 C语言实例
对某些题目做了一些小改动,并加入了自己的学习笔记和理解,代码不是原教程中的代码,是我自己作为练习写的,每块代码都测试了,应该是没有问题,但不足之处仍无可避免,如有问题,还请各位大佬批评指正
输出 “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
代码语言:javascript复制Hello World!
输出整数
使用 scanf()
来接收输入,使用 printf()
与 %d
格式化输出整数。
#include <stdio.h>
int main(void)
{
int number = 0;//定义一个整型变量a,并初始化为0
scanf("%d", &number);//格式化输入函数,取number的地址存放用户输入的数值
printf("%dn", number);//%d格式化打印整型参数,传递参数a
return 0;
}
代码语言:javascript复制1
1
输出单个字符
使用 scanf()
来接收输入,使用 printf()
与 %c
格式化输出一个字符。
#include <stdio.h>
int main(void)
{
char ch = 0;//定义一个字符型变量ch,并初始化为0
scanf("%c", &ch);//格式化输入函数,取ch的地址存放用户输入的字符
printf("%cn", ch);//%d格式化打印字符,传递参数ch
return 0;
}
代码语言:javascript复制a
a
输出浮点数
使用 scanf()
来接收输入,使用 printf()
与 %f
输出浮点数。
#include <stdio.h>
int main(void)
{
float number = 0;//定义一个单精度浮点型变量number,并初始化为0
scanf("%f", &number);//格式化输入函数,取number的地址存放用户输入的字符
printf("%fn", number);//%f格式化打印浮点型数据,传递参数number
return 0;
}
代码语言:javascript复制1
1.000000
两个整数相加
使用 scanf()
来接收输入, printf()
与 %d
格式化输出整数。
#include <stdio.h>
int main(void)
{
int a, b;//定义两个整形变量,用来存放两个整数
printf("请输入两个整数,我来计算两个数的和:n");
scanf("%d%d", &a, &b);//取ab的两个地址来存放用户输入的数据
printf("您输入的两个整数的和为%dn", a b);//传递的参数为a b
return 0;
}
代码语言:javascript复制请输入两个整数,我来计算两个数的和:
520 521
您输入的两个整数的和为1041
两个浮点数相乘
输入两个浮点数,计算乘积,结果保留两位小数。
代码语言:javascript复制#include <stdio.h>
int main(void)
{
float a, b;
printf("请输入两个数,我来计算两个数的乘积:n");
scanf("%f%f", &a, &b);
printf("您输入的两个数的积为%.2fn", a * b);
return 0;
}
代码语言:javascript复制请输入两个数,我来计算两个数的乘积:
520 521.1415926
您输入的两个数的积为270993.63
字符转 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;
}
代码语言:javascript复制请输入一个字符:
A
65
多组输入两整数相除,如果有余数,输出余数。
代码语言:javascript复制#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("您输入的两个数的商为%dn", a / b);
}
else
{
printf("您输入的两个数的商为%d,余数为%dn", a / b, a % b);
}
}
return 0;
}
代码语言:javascript复制请输入了两个整数:
9 3
您输入的两个数的商为3
9 5
您输入的两个数的商为1,余数为4
2021 66
您输入的两个数的商为30,余数为41
比较两个数的大小
代码语言:javascript复制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;
}
代码语言:javascript复制请输入了两个整数:
55 58
58>55
比较三个数的大小
代码语言:javascript复制#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;
}
代码语言:javascript复制请输入三个整数
45 99 98
99最大
计算 int, float, double 和 char 字节大小
使用 sizeof
操作符计算int
, float
, double
和 char
四种变量字节大小。
#include <stdio.h>
int main()
{
int a = 0;
float b = 0;
double c = 0;
char d = 0;
printf("int所占字节大小为%dn", sizeof(int));//sizeof只是个运算符,类似于 -*/不是个函数
printf("float所占字节大小为%dn", sizeof(float));
printf("double所占字节大小为%dn", sizeof(double));
printf("char所占字节大小为%dn", sizeof(char));
return 0;
}
代码语言:javascript复制int所占字节大小为4
float所占字节大小为4
double所占字节大小为8
char所占字节大小为1
交换两个数的值
代码语言:javascript复制#include <stdio.h>
int main()
{
int a, b;
int temp;//临时变量
printf("请输入两个整数a,b的值:n");
scanf("%d%d", &a, &b);
printf("a=%d,b=%dn", a, b);
temp = a;
a = b;
b = temp;
printf("交换后a=%d,b=%dn", a, b);
return 0;
}
代码语言:javascript复制请输入两个整数a,b的值:
520 521
a=520,b=521
交换后a=521,b=520
多组输入,判断奇数/偶数
代码语言:javascript复制#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;
}
代码语言:javascript复制请输入一个整数:
2020
您输入的数是偶数
2021
您输入的数是奇数
循环区间范围内的奇数/偶数
代码语言:javascript复制#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;
}
代码语言:javascript复制您输入您要输出的区间范围
(例如(输入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
多组输入,判断元音/辅音
英语有26个字母,元音只包括 a、e、i、o、u 这五个字母,其余的都为辅音。y是半元音、半辅音字母,但在英语中都把他当作辅音。
代码语言:javascript复制#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;
}
代码语言:javascript复制请输入多个英文字母
abcDEFG
您输入的字母是元音
您输入的字母是辅音
您输入的字母是辅音
您输入的字母是辅音
您输入的字母是元音
您输入的字母是辅音
您输入的字母是辅音
多组输入,求一元二次方程的解
求一元二次方程:ax 2 bx c=0 的根。
输入三个实数a,b,c的值,且a不等于0。
代码语言:javascript复制#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*c
if (a != 0 && det > 0)//方程有两个解
{
x1 = (-b - sqrt(det)) / (2 * a);
x2 = (-b sqrt(det)) / (2 * a);
printf("方程的的根x1=%.2f,x2=%.2fn", x1, x2);
}
else if (a != 0 && det == 0)//方程有两个相同的解
{
x1 = (-b - sqrt(det)) / (2 * a);
x2 = (-b sqrt(det)) / (2 * a);
printf("方程的的根x1=x2=%.2fn", x1);
}
else if (a != 0 && det < 0)//方程无实数解
{
printf("方程无实数解n");
}
if (a == 0)//a等于0
{
printf("a等于0的话原式不再是一元二次方程,请重新输入。n");
break;
}
}
return 0;
}
代码语言:javascript复制请输入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的话原式不再是一元二次方程,请重新输入。
多组输入,判断闰年
闰年是公历中的名词。闰年分为普通闰年和世纪闰年。
普通闰年:
公历年份是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;
}
代码语言:javascript复制请输入几个年份:
2000 2008 2020 2021
此年份是世纪闰年。
此年份是普通闰年。
此年份是普通闰年。
此年份不是闰年。
多组输入,判断正数/负数
用户输入一个数字,判断该数字是正数还是负数或是零。
代码语言:javascript复制#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("你输入的数是0n");
}
}
return 0;
}
代码语言:javascript复制请输入几个整数:
-1 0 1
你输入的是负数
你输入的数是0
你输入的是正数
多组输入,判断字母
代码语言:javascript复制#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;
}
代码语言:javascript复制请输入一串字符:
a@1A
您输入的字符是字母
您输入的字符不是字母
您输入的字符不是字母
您输入的字符是字母
计算自然数的和
自然数是指表示物体个数的数,即由0开始,0,1,2,3,4,……一个接一个,组成一个无穷的集体,即指非负整数。
代码语言:javascript复制#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的和为%dn", n - 1, sum);
return 0;
}
代码语言:javascript复制您需要计算多少个自然数的和
请输入:10
自然数0-9的和为45
九九乘法表
对于此类的题,类似于打印特殊三角形的题,我找到了近似通法的方法,详情可见我的另外一篇博客,点我进入
代码语言:javascript复制#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;
}
代码语言:javascript复制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
斐波那契数列
斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368……..
代码语言:javascript复制#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;
}
代码语言:javascript复制您要输出几项菲波那切数列的项数呢?
请输入:9
1 1 2 3 5 8 13 21 34
求两数的最大公约数
代码语言:javascript复制#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;
}
代码语言:javascript复制请输入两个整数:
25 5
您输入的两个整数的最大公约数为5
求两数的最小公倍数
代码语言:javascript复制#include <stdio.h>
int main()
{
int a, b;
int i = 0;
int gb = 0;
//这个变量是核心,最小公倍数的求法,就是先找到这两个数中的最大值,
//如果满足这个最大值刚好可以被这两个数整除,那么该数就是这两个数的最小公倍数,如果不是那就 1
printf("请输入两个整数: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;
}
代码语言:javascript复制请输入两个整数:
25 5
您输入的两个整数的最大公约数为25
计算阶乘
一个正整数的阶乘(英语:factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!。
n!=1×2×3×…×n
代码语言:javascript复制#include <stdio.h>
int main()
{
int n = 0;
int i = 0;
int jc = 1;
printf("请输入多个自然数:n");
while (~scanf("%d", &n))
{
jc = 1;//第二组数据输入后jc要归1
if (n < 0)
{
printf("非法输入n");
}
else if (n == 0)
{
printf("0!=1n");
}
else if (n > 0)
{
for (i = 1; i <= n; i )
{
jc *= i;
}
printf("%d!=%dn", n, jc);
}
}
return 0;
}
代码语言:javascript复制请输入多个自然数:
-1 0 1 2 3 4 5
非法输入
0!=1
1!=1
2!=2
3!=6
4!=24
5!=120
输出26个英文字母
代码语言:javascript复制#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;
}
代码语言:javascript复制输入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
判断用户输入的数据为几位数
用户输入数据,判断该数字是几位数。
代码语言:javascript复制#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;//更新number
count ;//先更新在记录,先记录在更新的话记录的是前一次数值的位数。
}
printf("您所输入的数是%d位数", count);
return 0;
}
代码语言:javascript复制请输入一个数,我来判断你输入的是几位数:
123456756
您所输入的数是9位数
计算一个数的 n 次方
代码语言:javascript复制#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次方是%dn", x, y, result);
}
代码语言:javascript复制请输入底数:2
请输入指数:10
2的10次方是1024
判断素数
代码语言:javascript复制#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);
else
printf("%d 不是素数",n);
return 0;
}
代码语言:javascript复制输入一个正整数:
1
1 不是素数。
输入一个正整数:
2
2是素数。
输入一个正整数:
67
67是素数。
输出水仙花数
水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 5^3 3^3 = 153)
代码语言:javascript复制#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;
}
代码语言:javascript复制所有的水仙花数:
153 370 371 407
判断回文数
设n是一任意自然数。若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数。例如,若n=1234321,则称n为一回文数;但若n=1234567,则n不是回文数。
这个题我之前也有一篇博客中写到了,比较详细,可以康康,点我进入
代码语言:javascript复制#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;
}
代码语言:javascript复制请输入一个数:
1234321
您输入的数是回文数。
请输入一个数:
123
您输入的数不是回文数。
求一个数的所有因数
代码语言:javascript复制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;
}
代码语言:javascript复制请输入一个整数
24
1 2 3 4 6 8 12 24
创建各类三角形图案
这类题有个近似的通法,我之前的博客有写到,而且比这个全一点,博客点我进入
正直角三角形
代码语言:javascript复制#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;
}
代码语言:javascript复制请输入您要输出的直角三角形的边数:
5
*
* *
* * *
* * * *
* * * * *
翻转直角三角形
代码语言:javascript复制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;
}
代码语言:javascript复制请输入您要输出的翻转直角三角形的边数:
5
* * * * *
* * * *
* * *
* *
*
正数字直角三角形
代码语言:javascript复制#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;
}
代码语言:javascript复制请输入您要输出的数字直角三角形的边数:
5
0
0 1
0 1 2
0 1 2 3
0 1 2 3 4
翻转数字直角三角形
代码语言:javascript复制#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;
}
代码语言:javascript复制请输入您要输出的翻转数字直角三角形的边数:
5
0 1 2 3 4
0 1 2 3
0 1 2
0 1
0
正字母直角三角形
代码语言:javascript复制#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;
}
代码语言:javascript复制请输入您要输出的字母直角三角形的边数:
5
A
A B
A B C
A B C D
A B C D E
翻转字母直角三角形
代码语言:javascript复制#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;
}
代码语言:javascript复制请输入您要输出的翻转字母直角三角形的边数:
5
A B C D E
A B C D
A B C
A B
A
正金字塔三角形
代码语言:javascript复制#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;
}
代码语言:javascript复制请输入您要输出的金字塔三角形的行数:
5
*
* *
* * *
* * * *
* * * * *
翻转金字塔三角形
代码语言:javascript复制#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;
}
代码语言:javascript复制请输入您要输出的翻转金字塔三角形的行数:
5
* * * * *
* * * *
* * *
* *
*
菱形
代码语言:javascript复制#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;
}
代码语言:javascript复制3
*
* *
* * *
* * * *
* * *
* *
*
杨辉三角
代码语言:javascript复制#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;
else
number = number * (i - j 1) / j;
printf("M", number);
}
printf("n");
}
return 0;
}
代码语言:javascript复制行数: 8
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
弗洛伊德三角形
代码语言:javascript复制#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("M", l);
}
printf("n");
}
return 0;
}
代码语言:javascript复制您要输出几行
请输入:8
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15
16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 32 33 34 35 36
表格形式输出数据
代码语言:javascript复制#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("M", l);
}
printf("n");
}
return 0;
}
代码语言:javascript复制您要输出几行
请输入:10
1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50
51 52 53 54 55 56 57 58 59 60
61 62 63 64 65 66 67 68 69 70
71 72 73 74 75 76 77 78 79 80
81 82 83 84 85 86 87 88 89 90
91 92 93 94 95 96 97 98 99 100
实现简单的计算器
代码语言:javascript复制# 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;
}
代码语言:javascript复制输入操作符 ( , -, *, ):
输入两个数字: 2020 2021
2020.00 2021.00 = 4041.00