版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
目录:
===============================基础例题100道===============================
===============================进阶例题100道===============================
76.编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n(利用指针函数)
81.809*??=800*??+9*?? 其中??代表的两位数, 809*??为四位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果
===============================基础例题100道===============================
1.输出 "Hello, World!"
#includeint main() { // printf() 中字符串需要引号 printf("Hello, World!"); return 0; }
输出结果:
Hello, World!
2.输出整数
#includeint main() { int number; // printf() 输出字符串 printf("输入一个整数: "); // scanf() 格式化输入 scanf("%d", &number); // printf() 显示格式化输入 printf("你输入的整数是: %d", number); return 0; }
使用printf()与%d格式化输出整数
输出结果:
输入一个整数: 45 你输入的整数是: 45
3.输出单个字符
#includeint main() { char c; // 声明 char 变量 c = 'A'; // 定义 char 变量 printf("c 的值为 %c", c); return 0; }
使用printf()与%c格式化输出一个字符
输出结果:
c 的值为 A
4.输出浮点数
#includeint main() { float f; // 声明浮点数变量 f = 12.001234; // 定义浮点数变量 printf("f 的值为 %f", f); return 0; }
使用printf()与%f输出浮点数
输出结果:
f 的值为 12.001234
5.输出双精度(double)数
#includeint main() { double d; // 声明双精度变量 d = 12.001234; // 定义双精度变量 printf("d 的值为 %le", d); return 0; }
使用printf()与%e输出双精度数
输出结果:
d 的值为 1.200123e+01
6.两个整数相加
#includeint main() { int firstNumber, secondNumber, sumOfTwoNumbers; printf("输入两个数(以空格分割): "); // 通过 scanf() 函数接收用户输入的两个整数 scanf("%d %d", &firstNumber, &secondNumber); // 两个数字相加 sumOfTwoNumbers = firstNumber + secondNumber; // 输出结果 printf("%d + %d = %d", firstNumber, secondNumber, sumOfTwoNumbers); return 0; }
使用 scanf() 来接收输入, printf() 与%d 格式化输出整数
输出结果:
输入两个数(以空格分割): 1 2 1 + 2 = 3
7.两个浮点数相乘
#includeint main() { double firstNumber, secondNumber, product; printf("输入两个浮点数: "); // 用户输入两个浮点数 scanf("%lf %lf", &firstNumber, &secondNumber); // 两个浮点数相乘 product = firstNumber * secondNumber; // 输出结果, %.2lf 保留两个小数点 printf("结果 = %.2lf", product); return 0; }
输入两个浮点数,计算乘积
输出结果:
输入两个浮点数: 1.2 2.345 结果 = 2.81
8.字符转 ASCII 码
#includeint main() { char c; printf("输入一个字符: "); // 读取用户输入 scanf("%c", &c); // %d 显示整数 // %c 显示对应字符 printf("%c 的ASCII 为%d", c, c); return 0; }
输出结果:
输入一个字符: a a 的ASCII 为97

(1)一次读取长字符,并一个一个显示 ASCII 码

#include#define MAX_STRING_LENGTH 65535 // 最大字符串长度 int main(){ char s[MAX_STRING_LENGTH]; printf("请输入长度小于 %d 的任意字符:",MAX_STRING_LENGTH); scanf("%s",s); // 读取字符串。 for(int i = 0; s[i]; i++){ printf("%c的ASCII:%d\t",s[i],s[i]); } }

(2)ASCII 转 字符

#include#define MAX_ASCII 127 int main() { char num,enter; int temp=1; for(;temp>0;) { printf("----------------------------\n"); printf("|** 开始 **|\n"); printf("|**ASCII 转 字符 按:1 **|\n"); printf("|**字符 转ASCII 按:2 **|\n"); printf("|** 结束 按:0 **|\n"); printf("----------------------------\n"); scanf("%d",&temp); if(temp==1) { printf("请输入数值小于 %d 的任意字符:",MAX_ASCII); scanf("%d",&num); printf("ASCII为%d ,对应的字符为 %c \n",num,num); } if(temp==2) { printf("输入一个字符: \n"); scanf("%c", &enter); //回车键也算字符,所以这里使用其他变量替之. scanf("%c", &num); printf(" %c 的ASCII 为%d \n", num, num); } } return 0; }
9.两数相除
两数相除,如果有余数,输出余数
#includeint main(){ int dividend, divisor, quotient, remainder; printf("输入被除数: "); scanf("%d", ÷nd); printf("输入除数: "); scanf("%d", &divisor); // 计算商 quotient = dividend / divisor; // 计算余数 remainder = dividend % divisor; printf("商=%d\n", quotient); printf("余数 = %d", remainder); return 0; }
输出结果:
输入被除数: 5 输入除数: 2 商=2余数 = 1
10.数值比较

(1)比较两个数

以下实例中定义了两个整数变量,并使用 if 来比较两个数值,可以先看下逻辑图:
#includeint main() { int a, b; a = 11; b = 99; // 也可以通过以下代码实现让用户在终端输入两个数 // printf("输入第一个值:"); // scanf("%d", &a); // printf("输入第二个值:"); // scanf("%d", &b); if(a > b) printf("a 大于 b"); else printf("a 小于等于 b"); return 0; }
输出结果:
a 小于等于 b

(2)比较三个数

以下实例中定义了两个整数变量,并使用 if 来比较三个数值,可以先看下逻辑图:
#includeint main() { int a, b, c; a = 11; b = 22; c = 33; 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; }
输出结果:
33 最大

(3)比较两数从键盘输入:

#includeint main() { int a,b; printf("请输入俩个整数以空格隔开: \n"); scanf("%d %d",&a,&b); // 从键盘输入两个数 if(a>b){ printf("%d>%d\n",a,b); } else { printf("%d
11.计算字节大小

(1)计算 int, float, double 和char 字节大小

使用sizeof 操作符计算int, float, double 和char四种变量字节大小
sizeof 是C语言的一种单目操作符,如C语言的其他操作符++、--等,它并不是函数
sizeof 操作符以字节形式给出了其操作数的存储大小
#includeint main() { int integerType; float floatType; double doubleType; char charType; // sizeof 操作符用于计算变量的字节大小 printf("Size of int: %ld bytes\n",sizeof(integerType)); printf("Size of float: %ld bytes\n",sizeof(floatType)); printf("Size of double: %ld bytes\n",sizeof(doubleType)); printf("Size of char: %ld byte\n",sizeof(charType)); return 0; }
输出结果:
Size of int: 4 bytes Size of float: 4 bytes Size of double: 8 bytes Size of char: 1 byte

(2)计算 long long, long double 字节大小

#includeint main() { int a; long b; long long c; double e; long double f; printf("Size of int = %ld bytes \n", sizeof(a)); printf("Size of long = %ld bytes\n", sizeof(b)); printf("Size of long long = %ld bytes\n", sizeof(c)); printf("Size of double = %ld bytes\n", sizeof(e)); printf("Size of long double = %ld bytes\n", sizeof(f)); return 0; }
输出结果:
Size of int = 4 bytes Size of long = 8 bytes Size of long long = 8 bytes Size of double = 8 bytes Size of long double = 16 bytes
12.交换两个数的值

(1)使用临时变量

以下实例演示了交换两个浮点数的值
#includeint main() { double firstNumber, secondNumber, temporaryVariable; printf("输入第一个数字: "); scanf("%lf", &firstNumber); printf("输入第二个数字: "); scanf("%lf",&secondNumber); // 将第一个数的值赋值给 temporaryVariable temporaryVariable = firstNumber; // 第二个数的值赋值给 firstNumber firstNumber = secondNumber; // 将temporaryVariable 赋值给 secondNumber secondNumber = temporaryVariable; printf("\n交换后, firstNumber = %.2lf\n", firstNumber); printf("交换后, secondNumber = %.2lf", secondNumber); return 0; }
输出结果:
输入第一个数字: 1 输入第二个数字: 2 交换后, firstNumber = 2.00 交换后, secondNumber = 1.00

(2)不使用临时变量

不使用临时变量交换两个整数的值
#includeint main() { int a, b; a = 11; b = 99; printf("交换之前 - \n a = %d, b = %d \n\n", a, b); a = a + b; // ( 11 + 99 = 110) 此时 a 的变量为两数之和,b 未改变 b = a - b; // ( 110 - 99 = 11) a = a - b; // ( 110 - 11 = 99) printf("交换后 - \n a = %d, b = %d \n", a, b); }
输出结果:
交换之前 - a = 11, b = 99 交换后 - a = 99, b = 11

(3)参考方法:

#includevoid swap(int *a,int*b) { int temp=*a; *a=*b; *b=temp; } int main() { int a=1,b=2; swap(&a,&b); printf("a=%d\nb=%d\n",a,b); return 0; }
13.判断奇数/偶数
以下实例判断用户输入的整数是奇数还是偶数
#includeint main() { int number; printf("请输入一个整数: "); scanf("%d", &number); // 判断这个数除以 2 的余数 if(number % 2 == 0) printf("%d 是偶数。", number); else printf("%d 是奇数。", number); return 0; }
输出结果:
请输入一个整数: 5 5 是奇数。

参考方法:

奇偶数判断其实有个更简单高效的办法,我们的整数,在计算机中存储的都是二进制
奇数的最后一位必是1,所以我们可以这样写:
#includeint main() { int number; printf("请输入一个整数: "); scanf("%d", &number); // 判断这个数最后一位是1这为奇数 if(number&1) printf("%d 是奇数。", number); else printf("%d 是偶数。", number); return 0; }
14.循环区间范围内的奇数/偶数
循环输出区间范围内的奇数/偶数可以通过除于 2 的余数来判断

(1)循环输出指定区间范围的偶数

#includeint main() { int i; for(i = 1; i