最新(整理)c语言入门经典案例及源代码.word版本
经典C语言编程100例精编版
![经典C语言编程100例精编版](https://img.taocdn.com/s3/m/078c08337cd184254b3535dd.png)
经典C语言编程100例(1-30)【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
组成所有的排列后再去掉不满足条件的排列。
2.程序源代码:main(){int i,j,k;printf("\n");for(i=1;i<5;i++) /*以下为三重循环*/for(j=1;j<5;j++)for (k=1;k<5;k++){if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/printf("%d,%d,%d\n",i,j,k);}}============================================================== 【程序2】题目:企业发放的奖金根据利润提成。
利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。
注意定义时需把奖金定义成长整型。
2.程序源代码:main(){long int i;int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf("%ld",&i);bonus1=100000*0.1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i<=100000)bonus=i*0.1;else if(i<=200000)bonus=bonus1+(i-100000)*0.075;else if(i<=400000)bonus=bonus2+(i-200000)*0.05;else if(i<=600000)bonus=bonus4+(i-400000)*0.03;else if(i<=1000000)bonus=bonus6+(i-600000)*0.015;elsebonus=bonus10+(i-1000000)*0.01;printf("bonus=%d",bonus);}============================================================== 【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。
C语言经典代码
![C语言经典代码](https://img.taocdn.com/s3/m/e37c66122bf90242a8956bec0975f46527d3a7e3.png)
C语言经典代码
一、c语言必背100代码,C语言必背项目100代码
一个C语言入门初学者如何学代码,读代码
和写c语言必背100代码,我想学代码不知道方向谁能给我指明一个方向?对于c语言来说,要
记得东西其实不多,基本就是几个常用语句加一些关键字而已。
你所看到的那些几千甚至上万行的代码,都是用这些语句和关键词来重复编写的。
只是他们逻辑功能不一样,那如何快速的上手c 语言必背100代码,建议多看多写。
二、初学者必会的c语言必背100代码,C语言代码大全
1、c语言必背100代码,C语言代码大全
第一个------乘法表。
用C语言输出9*9乘法口诀。
共9行9列,i控制行,j控制列。
2、c语言必背100代码之4×4数组
— 1 —。
(完整版)c语言初学必背代码
![(完整版)c语言初学必背代码](https://img.taocdn.com/s3/m/65fe86ba5a8102d277a22f24.png)
//1.成绩判断#include <stdio.h>int main(){//成绩int score;printf("请输入你的成绩:\n");scanf("%d", &score);//判断if(score >=0 && score < 60){printf("不及格\n");}else if(60 <= score && score < 80){printf("中等\n");}else if(80 <= score && score < 100){printf("优秀\n");}else{printf("输入错误!\n");}}//2.计算1到100的和#include <stdio.h>int main(){int sum = 0;//存结果变量int i;for(i=1;i <= 100;i++){sum = sum + i;}printf("sum=%d\n", sum);}//3.最大公约数#include <stdio.h>//求m,n的最大公约数int main(){int m, n;int i, k;printf("请输入两个数:");scanf("%d %d", &m, &n);//三元运算符找较小的那个k = m < n ? m : n;//从较小的那个数倒着往前找for(i=k; i>=1; i--){//这是公约数if((m % i == 0) && (n % i ==0)){printf("最大公约数是%d\n", i);break;//跳出for循环}}}//4.最小公倍数#include <stdio.h>//求m,n的最小公倍数int main(){int m, n;int max, min;//m,n中较大,较小的那个int k;//max, 2*max, 3*max, .....printf("请输入两个数:");scanf("%d %d", &m, &n);//也可以交换m,n,保证m小n大max = m > n ? m : n;min = m < n ? m : n;k = max;//从max开始while(k % min != 0){k += max;//每次倍增}printf("最小公倍数是%d\n", k); }//5.金字塔#include <stdio.h>//金字塔int main(){int i;//外层int j;//内层for(i=1;i<=10;i++){//当前是在第i行//先补空格10-i个for(j=1;j<=10-i;j++){printf(" ");}//再打2i-1个*for(j=1;j<=2*i-1;j++){printf("*");}printf("\n");}}//6.九九乘法表#include <stdio.h>//打印九九乘法表int main(){int i,j;for(i=1;i<=9;i++)//外层一定是9行{for(j=1; j<=i; j++)//内层第几行走几遍{printf("%d*%d=%d ", i, j, i*j);}printf("\n");}}//7.百钱买百鸡#include <stdio.h>/**百钱买百鸡,类似1,2,5凑100银币问题*/int main2(){int i,j;//公鸡,母鸡个数for(i=0; i<=20; i++)//公鸡{for(j=0; j<=33; j++)//母鸡{if( (15*i + 9*j + (100-i-j)) == 300){printf("公鸡%d,母鸡%d,小鸡%d\n", i, j, 100-i-j);}}}}//1,2,5凑100银币问题int main3(){int count = 0;//情况数int i,j;//5分个数,2分个数for(i=0; i<=20; i++)//5分个数{for(j=0; j<=50; j++)//2分个数{if( ( 5*i + 2*j ) <= 100 ){count++;printf("%d: 5分%d个,2分%d 个,1分%d个\n", count, i, j, 100-5*i-2*j);}}}}//8.一维数组的最大值、最小值、平均值#include <stdio.h>#define N 10//宏定义常量int main(){int i;//下标索引int max, min;double sum = 0;//累加和int a[N] = {58, 58, 96, 100, 25, 55, 66, 88, 99, 77};max = a[0];//假设第一个最大min = a[0];//假设第一个最小for(i=1; i<N; i++){if(a[i] > max)//比最大值还大max = a[i];//你才是最大if(a[i] < min)//比最小值还小min = a[i];//你才是最小sum += a[i];}printf("max=%d, min=%d\n", max, min);printf("average = %.2lf\n", sum/N);}//9.二维数组的最大值、最小值、平均值#include <stdio.h>int main(){int i; //第几行int j; //第几列int a[3][4] = { {1,2,3,4}, {5,-6,7,8}, {9,19,39,0}};int max = a[0][0];//假设你最大int min = a[0][0];//假设你最小double average;//平均值double sum = 0; //总和for(i=0; i<3; i++)//必定3行{for(j=0; j<4; j++)//必定4列{printf("%5d ", a[i][j]);sum += a[i][j];if(a[i][j] > max)max = a[i][j];if(a[i][j] < min)min = a[i][j];}printf("\n");}average = sum / (3*4);printf("max=%d, min=%d, avg=%.2lf\n", max, min, average);}//10.二维数组转置#include <stdio.h>//二维数组转置:行变列,列变行int main(){int i; //第几行int j; //第几列int a[3][4] = { {1,2,3,4}, {5,-6,7,8}, {9,19,39,0}};int b[4][3];for(i=0; i<3; i++){for(j=0; j<4; j++){printf("%5d", a[i][j]);}printf("\n");}//矩阵转置for(i=0; i<3; i++){for(j=0; j<4; j++){b[j][i] = a[i][j];}}for(i=0; i<4; i++){for(j=0; j<3; j++){printf("%5d", b[i][j]);}printf("\n");}}//11.冒泡排序#include <stdio.h>#define N 10//宏定义常量int main(){int i;//下标索引int j;int tmp;//临时交换用int a[N] = {58, 58, 96, 100, 25, 55, 66, 88, 99, 77};//外层循环一定是N-1for(i=0; i<N-1; i++){//两两交换,大的往后走for(j=0; j<N-i-1; j++){//交换if(a[j] > a[j+1]){tmp = a[j];a[j] = a[j+1];a[j+1] = tmp;}}}for(i=0; i<N; i++){printf("%d ", a[i]);;}printf("\n");}//12.结构冒泡排序#include <stdio.h>//结构定义,用户自定义类型typedef struct student{char sno[20];//学号char name[20];//姓名int age;//年龄char gender;//性别char tel[20];//电话};int main(){int i;int j;double sum = 0;struct student tmp;//两两交换临时用;//结构数组struct student team[5];for(i=0; i<5; i++){printf("请输入第%d个队员的信息:\n", i+1);scanf("%s %s %d %c %s", team[i].sno, team[i].name, &team[i].age, &team[i].gender, team[i].tel);}//按年龄冒泡排序for(i=0; i<5; i++){for(j=0; j<5-i-1; j++){//两两交换if(team[j].age > team[j+1].age){tmp = team[j];team[j] = team[j+1];team[j+1] = tmp;}}}//取值printf("%-12s %-10s %-5s %-5s %-15s\n", "学号", "姓名", "年龄", "性别", "电话");for(i=0; i<5; i++){printf("%-12s %-10s %-5d %-5c %-15s\n", team[i].sno, team[i].name, team[i].age, team[i].gender, team[i].tel);}}//13.结构数组找年龄最大值#include <stdio.h>//结构定义,用户自定义类型typedef struct student{char sno[20];//学号char name[20];//姓名int age;//年龄char gender;//性别char tel[20];//电话};int main(){int i;struct student tmp;//找最大临时用//结构数组struct student team[5];for(i=0; i<5; i++){printf("请输入第%d个队员的信息:\n", i+1);scanf("%s %s %d %c %s", team[i].sno, team[i].name, &team[i].age, &team[i].gender, team[i].tel);}//取值printf("%-12s %-10s %-5s %-5s %-15s\n ", "学号", "姓名", "年龄", "性别", "电话");for(i=0; i<5; i++){printf("%-12s %-10s %-5d %-5c %-15s\ n", team[i].sno, team[i].name, team[i].age, team[i].gender, team[i].tel);}//找学号最大的那一个tmp = team[0];for(i=1; i<5; i++){if(strcmp(team[i].sno,tmp.sno) >0 ){tmp = team[i];}}printf("学号最大的队员如下:\n");printf("%-12s %-10s %-5d %-5c %-15s\ n", tmp.sno, , tmp.age, tmp.gender, tmp.tel);}//14.文件读写#include <stdio.h>#include <stdlib.h>//结构定义,用户自定义类型typedef struct student{char sno[20];//学号char name[20];//姓名int age;//年龄char gender;//性别char tel[20];//电话};//文件读写int main(){struct student * s, * p1;//个数未知FILE * fp;int i, n = 0;char buf[1024];//fgets缓冲区//打开文件fp = fopen("e:\\test.txt", "r");while(fgets(buf, 1024, fp) != NULL)n++;fclose(fp);//指向一个可以存储n个student结构的内存空间s = (struct student *)malloc(sizeof(struct student) * n);p1 = s;//不要动头位置s的值//打开文件fp = fopen("e:\\test.txt", "r");for(i=0; i<n; i++){//从文件中读入一行fscanf(fp, "%s %s %d %c %s", p1->sno, p1->name, &p1->age, &p1->gender, p1->tel);p1++;}fclose(fp);p1 = s;for(i=0; i<3; i++){printf("%s %s %d %c %s\n", p1->sno, p1->name, p1->age, p1->gender, p1->tel);}free(s);}//15.输入三角形三边长计算周长和面积#include<stdio.h>#include<math.h>int main(){double area,perimeter,s,a,b,c;printf("请输入三边长a b c:");scanf("%lf%lf%lf",&a,&b,&c);if((a+b>c) && (a+c>b) && (b+c>a)){s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c));perimeter=a+b+c;printf("area=%.2f,perimeter=%.2f\ n",area,perimeter);}else{printf("三边长无法构成三角形。
C语言入门基础代码(20条案例)
![C语言入门基础代码(20条案例)](https://img.taocdn.com/s3/m/3676cfa0cd22bcd126fff705cc17552707225e9a.png)
C语言入门基础代码(20条案例)下面是20条基础案例:1. 输出Hello, World!#include <stdio.h> // 使用标准输入输出库int main() {printf("Hello, World!\n"); // 输出字符串return 0; // 返回程序执行成功}2. 判断一个数是否为偶数#include <stdio.h> // 使用标准输入输出库int main() {int num; // 定义变量printf("请输入一个整数:");scanf("%d", &num); // 从控制台输入一个整数if(num % 2 == 0) { // 如果余数为0说明是偶数printf("%d 是偶数\n", num);} else {printf("%d 是奇数\n", num);}return 0;}3. 计算两个数的和#include <stdio.h> // 使用标准输入输出库int main() {int a, b; // 定义变量int sum; // 定义变量printf("请输入两个整数:");scanf("%d%d", &a, &b); // 从控制台输入两个整数sum = a + b; // 求和printf("%d + %d = %d\n", a, b, sum); // 输出结果return 0;}4. 求一个数的平方#include <stdio.h> // 使用标准输入输出库int main() {int num; // 定义变量int square; // 定义变量printf("请输入一个整数:");scanf("%d", &num); // 从控制台输入一个整数square = num * num; // 求平方printf("%d 的平方是%d\n", num, square); // 输出结果return 0;}5. 判断一个字符是否为数字#include <stdio.h> // 使用标准输入输出库#include <ctype.h> // 使用字符函数库int main() {char ch; // 定义变量printf("请输入一个字符:");scanf("%c", &ch); // 从控制台输入一个字符if(isdigit(ch)) { // 判断是否为数字printf("%c 是数字\n", ch);} else {printf("%c 不是数字\n", ch);}return 0;}6. 计算数组元素的平均值#include <stdio.h> // 使用标准输入输出库int main() {int arr[] = {1, 2, 3, 4, 5}; // 定义数组int len = sizeof(arr) / sizeof(int); // 数组长度int sum = 0; // 定义变量int avg; // 定义变量for(int i = 0; i < len; i++) { // 遍历数组sum += arr[i]; // 累加求和}avg = sum / len; // 求平均值printf("数组的平均值是%d\n", avg); // 输出结果return 0;}7. 按照下标访问数组元素#include <stdio.h> // 使用标准输入输出库int main() {int arr[] = {1, 2, 3, 4, 5}; // 定义数组int len = sizeof(arr) / sizeof(int); // 数组长度for(int i = 0; i < len; i++) { // 遍历数组printf("arr[%d] = %d\n", i, arr[i]); // 输出每个元素}return 0;}8. 使用指针访问数组元素#include <stdio.h> // 使用标准输入输出库int main() {int arr[] = {1, 2, 3, 4, 5}; // 定义数组int len = sizeof(arr) / sizeof(int); // 数组长度int *p = arr; // 把数组首地址赋给指针变量for(int i = 0; i < len; i++) { // 遍历数组printf("arr[%d] = %d\n", i, *(p + i)); // 输出每个元素}return 0;}9. 求Fibonacci 数列的第n 项#include <stdio.h> // 使用标准输入输出库int main() {int n; // 定义变量int a = 0, b = 1, c; // 定义变量printf("请输入一个正整数:");scanf("%d", &n); // 从控制台输入一个整数for(int i = 1; i <= n; i++) { // 求Fibonacci 数列的第n 项c = a + b;a = b;b = c;}printf("Fibonacci 数列的第%d 项是%d\n", n, a); // 输出结果return 0;}10. 使用递归计算阶乘#include <stdio.h> // 使用标准输入输出库int factorial(int n) { // 定义递归函数if(n == 0 || n == 1) {return 1;} else {return n * factorial(n - 1);}}int main() {int n; // 定义变量printf("请输入一个非负整数:");scanf("%d", &n); // 从控制台输入一个整数int result = factorial(n); // 调用递归函数计算阶乘printf("%d 的阶乘是%d\n", n, result); // 输出结果return 0;}11. 判断一个数是否是质数#include <stdio.h>#include <stdbool.h>bool isPrime(int num) {if(num <= 1) {return false; // 小于等于1的数都不是质数}for(int i = 2; i * i <= num; i++) { // 只要从2到根号num遍历就可以了if(num % i == 0) {return false; // 如果存在因子,则不是质数}}return true;}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);bool result = isPrime(num); // 调用isPrime函数if(result) {printf("%d 是质数\n", num);} else {printf("%d 不是质数\n", num);}return 0;}12. 计算圆的面积和周长#include <stdio.h>const double PI = 3.1415926;int main() {double r, area, perimeter;printf("请输入圆的半径:");scanf("%lf", &r);area = PI * r * r; // 计算面积perimeter = 2 * PI * r; // 计算周长printf("圆的面积是%.2f,周长是%.2f\n", area, perimeter);return 0;}13. 计算斐波那契数列的前n 项#include <stdio.h>int main() {int n;printf("请输入要输出的斐波那契数列项数:");scanf("%d", &n);int a = 0, b = 1, c; // 定义三个变量for(int i = 1; i <= n; i++) { // 输出前n项斐波那契数列printf("%d ", a);c = a + b;a = b;b = c;}printf("\n"); // 换行return 0;}14. 嵌套循环输出九九乘法表#include <stdio.h>int main() {for(int i = 1; i <= 9; i++) { // 控制行数for(int j = 1; j <= i; j++) { // 控制列数printf("%d*%d=%-2d ", j, i, i * j); // 左对齐输出}printf("\n"); // 换行}return 0;}15. 获得数组的最大值和最小值#include <stdio.h>int main() {int arr[] = {3, 5, 8, 1, 4, 9, 6, 2, 7};int len = sizeof(arr) / sizeof(int);int max = arr[0], min = arr[0]; // 假设第一个元素既是最大值也是最小值for(int i = 1; i < len; i++) {if(arr[i] > max) { // 更新最大值max = arr[i];}if(arr[i] < min) { // 更新最小值min = arr[i];}}printf("数组的最大值是%d,最小值是%d\n", max, min);return 0;}16. 判断一个数是否为回文数```c#include <stdio.h>#include <stdbool.h>bool isPalindrome(int num) {if(num < 0) { // 负数不是回文数return false;}int temp = num, reversed = 0; // 定义需要用到的变量while(temp != 0) { // 反转整数reversed = reversed * 10 + temp % 10;temp /= 10;}return (num == reversed); // 如果反转后等于原来的数,则为回文数}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);bool result = isPalindrome(num);if(result) {printf("%d 是回文数\n", num);} else {printf("%d 不是回文数\n", num);}return 0;}17. 将字符串反转输出#include <stdio.h>#include <string.h>int main() {char str[100];printf("请输入一个字符串:");scanf("%s", str);int len = strlen(str);for(int i = len - 1; i >= 0; i--) { // 倒序输出printf("%c", str[i]);}printf("\n"); // 换行return 0;}18. 将一个二维数组按列排序#include <stdio.h>void sortCols(int arr[][3], int rows) {for(int j = 0; j < 3; j++) { // 按列排序for(int i = 0; i < rows - 1; i++) {for(int k = i + 1; k < rows; k++) {if(arr[i][j] > arr[k][j]) { // 比较大小并交换int temp = arr[i][j];arr[i][j] = arr[k][j];arr[k][j] = temp;}}}}}int main() {int arr[][3] = {{2, 5, 9}, {7, 6, 1}, {4, 3, 8}};int rows = sizeof(arr) / sizeof(arr[0]); // 计算数组的行数sortCols(arr, rows); // 调用函数排序for(int i = 0; i < rows; i++) { // 输出排序后的数组for(int j = 0; j < 3; j++) {printf("%d ", arr[i][j]);}printf("\n"); // 换行}return 0;}19. 判断一个字符串是否为回文串#include <stdio.h>#include <string.h>#include <stdbool.h>bool isPalindrome(char str[]) {int len = strlen(str);for(int i = 0; i < len / 2; i++) { // 判断左右字符是否一样if(str[i] != str[len - i - 1]) {return false;}}return true;}int main() {char str[100];printf("请输入一个字符串:");scanf("%s", str);bool result = isPalindrome(str); // 调用函数判断是否为回文串if(result) {printf("%s 是回文串\n", str);} else {printf("%s 不是回文串\n", str);}return 0;}20. 将一个整数转换成二进制数并输出#include <stdio.h>void decToBin(int num) {if(num > 1) { // 递归调用decToBin(num / 2);}printf("%d", num % 2); // 每次输出余数}int main() {int num;printf("请输入一个十进制数:");scanf("%d", &num);printf("%d 的二进制数为", num);decToBin(num); // 调用函数输出二进制数printf("\n"); // 换行return 0;}。
经典C语言源代码.docx
![经典C语言源代码.docx](https://img.taocdn.com/s3/m/56580fdeb84ae45c3a358c04.png)
经典 C 语言源代码1、(1)某年某月某日是星期几#include<stdio.h>int main(){int year, month, day;while (scanf_s("%d%d%d", &year, &month, &day) != EOF){if (month == 1 || month == 2)// 判断month 是否为1 或2 {year--;month += 12;}int c = year / 100;int y = year - c * 100;int week = (c / 4) - 2 * c + (y + y / 4) + (13 * (month + 1) / 5) day - 1;while (week<0) { week += 7; }week %= 7;switch (week){case 1:printf("Monday\n"); break;case 2:printf("Tuesday\n"); break;case 3:printf("Wednesday\n"); break;case 4:printf("Thursday\n"); break;case 5:printf("Friday\n"); break;case 6:printf("Saturday\n"); break;case 0:printf("Sunday\n"); break;}}return 0;}1、(2)某年某月某日是第几天(一维数组)#include "stdio.h" void main() {int i, flag, year, month, day, dayth;int month_day[] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };printf(" 请输入年/月/日:\n");scanf_s("%d/%d/%d", &year, &month, &day);dayth = day;flag = (year % 400 == 0) || (year % 4 == 0 && year % 100 != 0);if (flag)month_day[2] = 29;for (i = 1; i < month; i++)dayth = dayth + month_day[i];Prin tf("%d∕%d∕%d 是第%d 天\n", year, mon th, day, dayth);}2、30 个数中找最小的数及其位置#include "stdio.h"# define SIZE 30void main() {int i;float data[SIZE];int min;Printf("请输入%d个浮点数:∖n",SIZE);for (i = 0; i < SIZE; i++) {//scan f_s("%f", & data[i]); data[i] = rand() % 30 + 1;Printf("%f、", data[i]);}min = 0;for (i = 1; i < SIZE; i++) { if(data[i] < data[min])min = i;}Printf("最小值是%5.2f位置是%5d∖n", data[min], min); }3、30 个数从小到大排序(1)#include "stdio.h"# define SIZE 30void main() {int i,j;float data[SIZE],temP;int min;Printf("请输入%d个整型数:∖n",SIZE);for (i = 0; i < SIZE; i++) {scanf_s("%f", &data[i]);}for (i = 0; i < SIZE; i++) { min = i;for (j = i + 1; j < SIZE; j++)if (data[j] < data[min])temp = data[min];min = j;data[min] = data[i]; data[i] = temp;}printf("\n 排序后的结果是:\n");for (i = 0; i < SIZE; i++) printf("%5.2f", data[i]);}(2)模块化程序(数组名作为函数参数) #include "stdio.h"# define SIZE 5void accept_array(float a[], int size); void sort(float a[], int size); void show_array(float a[], int size);void main() {float score[SIZE]; accept_array(score, SIZE);printf(" 排序前:"); show_array(score, SIZE);sort(score, SIZE);printf(" 排序后:"); show_array(score, SIZE); }void accept_array(float a[], int size) {int i;printf(" 请输入%d 个分数:", size);for (i = 0; i < size; i++) scanf_s("%f", &a[i]);}void show_array(float a[], int size) {int i;for (i = 0; i < size; i++)printf(" %5.2f", a[i]);printf("\n");}void sort(float a[],int size) {int i, min, j;float temp;for (i = 0; i < SIZE; i++) {min = i;for (j = i + 1; j < SIZE; j++)if (a[j] < a[min])min = j;}temp = a[min]; a[min] = a[i]; a[i] = temp;}}4、( 1)指针加减:#include "stdio.h"#define SIZE 10 void main() {int a[SIZE] = { 1,2,3,4,5,6,7,8,9,10 }; int *pa, i;pa = &a[0];//pa=a; printf("\n");for (i = 0; i < SIZE; i++) { printf(" %d", *pa);//printf(" %d", *(pa+1)); pa++;(2)指针比较:#include "stdio.h"#define SIZE 10void main() {int a[SIZE] = { 1,2,3,4,5,6,7,8,9,10 };int *pa, i;int *qa;pa = qa = &a[0];printf(" 请输入%d 整型数:",SIZE); for (; pa < qa + SIZE;pa++) scanf_s("%d", pa);for (pa--; qa <= pa; pa--)printf(" %d", *pa);}5、两字符串相连:#include "stdio.h"#include "string.h"void str_cat(char str1[], char str2[]); void main() {int i, j;char str1[160];char str2[80];printf(" 请输入第一个字符串:"); gets(str1);printf(" 请输入第二个字符串:"); gets(str2);str_cat(str1, str2);puts(str1);}void str_cat(char str1[], char str2[]) { int i, j;i = 0;while (str1[i] != '\0')i++;j = 0;while (str2[j] != '\0') {str1[i] = str2[j]; i++; j++;}str1[i] = '\0';6、二维数组( a,b 转置) #include "stdio.h" void main() {int i, j, b[2][3];int a[3][2] = { {1,2},{3,4},{5,6} };for (i = 0; i < 2; i++) {}for (j = 0; j < 3; j++)b[i][j] = a[j][i];}printf("\na:\n");for (i = 0; i < 3; i++) { for (j = 0; j < 2; j++) printf("%5d", a[i][j]);printf("\n");}printf("\nb:\n");for(i = 0; i < 2; i++) { for (j = 0; j < 3; j++) printf("%5d", b[i][j]);printf("\n");}7、输入一个二维数组并输出(指针)#include "stdio.h"void main() {int x[2][3];int i, j;for (i = 0; i < 2; i++)for (j = 0; j < 3; j++)scanf_s("%d", *(x + i) + j); putchar('\n');for (i = 0; i < 2; i++){for (j = 0; j < 3; j++)printf("%d ", *(*(x + i) + j));putchar('\n');}}8、冒泡法排序一个数组#include "stdio.h"#define size 10 void maopao(int a[]); void main() { int a[10];int i;printf(" 请输入10 个整数:\n"); for (i = 0; i < 10; i++) scanf_s("%d", &a[i]); maopao(a);}void maopao(int a[]) {int i, j, temp;for (i = 0; i < 9; i++) {// 进行9 轮排序for (j = 0; j < 9 - i; j++)// 每轮进行9-i 次交换{if (a[j] > a[j + 1]){ temp = a[j];a[j] = a[j + 1];// 大的沉底,小的上浮a[j + 1] = temp;}}}printf(" 排序结果:\n"); for (i = 0; i < 10; i++) printf("%4d", a[i]); }9、两数组A,B,要求A<B,如A :4,7,9B :1,3,5,8,9变换后A :1,3,5B :4,7,8,9,9#include <stdio.h>VOid ReArranger(int* A, int* B, int m, int n) //A 和B是各有m 个和n 个整数的非降序数组,本算法将B 数组元素逐个插入到A 中,使A 中各元素均不大于B 中各元素,且两数组仍保持非降序排列。
简单易懂的C语言源代码(供初学者使用)
![简单易懂的C语言源代码(供初学者使用)](https://img.taocdn.com/s3/m/35c740de5022aaea998f0f7c.png)
#include<stdio.h>main(){float pi=3.14159265,r;printf("enter radius:\n");scanf("%f",&r);printf("r=%.2f,c=%.2f,area=%.2f\n",r,2*pi*r,pi*r*r);system("pause");}#include<stdio.h>main(){int m,n,x,y;printf("inputm,n:\n");scanf("%d%d",&m,&n);if (n%2==1){printf("error!! n bu shi ji shu!\n",n);return;}/*n在这里不能是奇数*/x=(4*m-n)/2;y=(n-2*m)/2;if((x>=0)&&(y>=0))printf("x=%d,y=%d\n",x,y);elseprintf("shu ru cuo wu!\n");getch();}#include<stdio.h>#include<math.h>#include<stdlib.h>main(){float a,b,C;printf("enter 3number(a,b,C):\n"); scanf("%.2f %.2f %.2f",&a,&b,&C); s=0.5*a*b*sinC;printf("s=%.2f\n",s);system("pause");}#include<stdio.h>main(){int ds,nl,yf;char c;printf("shu ru ds;\n");scanf("%d",&ds);if (ds<14||ds>1184){printf("input error!press any end...\n");scanf("%c",&c);exit(0);}/*输入的数字必须是-14~1184之间*/nl=(ds+115)%100;yf=(ds+115)/100;printf("nl=%d,yf=%d\n",nl,yf);system("pause");}#include<stdio.h>#include<string.h>main(){char s1[100],s2[100],s3[100],s4[100];printf("input a string:\n");gets(s1);strcpy(s1,s2);strcat(s1,"--------------");strcpy(s3,strcat(s1,"--------------"));strcat(strcpy(s3,strcat(s1,"--------------")),s2);strcpy(s4,strcat(strcpy(s3,strcat(s1,"--------------")),s2)); puts(s4);system("pasue");getch();}#include<stdio.h>#include<math.h>main(){float x1,x2,a,b,c;printf("input 3 number(a,b,c):\n"); scanf("%f%f%f",&a,&b,&c);x1=(-b+sqrt(b*b-4*a*c))/(2*a);x2=(-b-sqrt(b*b-4*a*c))/(2*a); printf("x1=%f,X2=%f\n",x1,x2); system("pause");getch();}#include<stdio.h>main(){int a,b,c,t;printf("input 3 number:\n");scanf("%d%d%d",&a,&b,&c);if(a>b){t=a;a=b,b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}printf("1:%d,2:%d,3:%d\n",a,b,c);system("pause");}#include<stdio.h>#include<stdlib.h>#include<conio.h>main(){float pi=3.14159265,r;textbackground(YELLOW);/* 设置背景色为黄色,注意颜色应该大写,可更改 */ textcolor(RED); /* 设置文件颜色为红色,可更改 */clrscr(); /* 清屏,使设置生效 */printf("enter radius:");scanf("%f",&r);if(r<0)printf("Enter Error!\n");elseprintf("r=%.2f,c=%.2f,area=%.2f\n",r,2*pi*r,pi*r*r);system("pause");/* 暂停,按任一键继续 */#include<stdio.h>#include<math.h>#include<conio.h>main(){float a,b,c,delt,x1,x2,p,q;textcolor(YELLOW);clrscr();printf("Input a b c:\n");scanf("%f%f%f",&a,&b,&c);if(a==0){printf("It's not a quadratic equation!\n"); system("pause");return;}delt=b*b-4*a*c;if(delt>=0){x1=(-b+sqrt(delt))/(2*a);x2=(-b-sqrt(delt))/(2*a);printf("x1=%.3f x2=%.4f\n",x1,x2);}else{p=-b/(2*a);q=sqrt(-delt)/(2*a);printf("p=%.4fq=%.4f\n",p,q);}system("pause");getch();}}#include<stdio.h>main(){float pi=3.14159265,r;int k=0;while(k<=3){printf("enter radius:\n");scanf("%f",&r);printf("r=%.2f,c=%.2f,area=%.2f\n",r,2*pi*r,pi*r*r); printf("press any key to continue\npress esc to exit."); k++;}}#include<stdio.h>#include<stdlib.h>#include<time.h>#include<conio.h>main(){int a,b,c,oper;long limit,i=0;char char1;textcolor(GREEN);/*设置字体颜色为绿色*/clrscr(); /*清屏,是设置生效*/while(i<=3){printf("qing xuan ze jia huo jian(1or2,1:+,2:-\n"); scanf("%d",&oper);printf("Enter max (<10000):\n");scanf("%ld",&limit);srand((unsigned long)time(0));a=rand()*limit/RAND_MAX;b=rand()*limit/RAND_MAX;while((a<b)&&(oper==2)){a=rand()*limit/RAND_MAX;b=rand()*limit/RAND_MAX;}char1=(oper==2?'-':'+');printf("%d%c%d\n",a,char1,b);scanf("%d",&c);if((oper==2&&a-b==c)||(oper!=2&&a+b==c))printf("OK!You are very clever!\n");elseprintf("The result is not correct!\n");i++;}getch();}#include<stdio.h>#include<conio.h>main(){int y,i=0;textcolor(YELLOW);/*天下事无难易之分只有做与不做之别*/ textbackground(GREEN);clrscr();/*清屏,是设置生效*/while(i<=3){printf("Input year:\n");scanf("%d",&y);if(y%4==0){if(y%100==0){if(y%400==0)printf("y shi run nian!\n");elseprintf("y bu shi run nian !\n");}elseprintf("y shi run nian!\n");}elseprintf("y bu shi run nian!");i++;}getche();}#include<stdio.h>#include<time.h>#include<string.h>main(){int xz,wday1,hour1;struct tm *timeptr;time_t secsnow;char s1[30],s2[30],s3[30];printf("input whom do you say to?:\n"); scanf("%d",&xz);if(xz==1)strcpy(s1,"mother");else if(xz==2)strcpy(s1,"father");elsestrcpy(s1,"");time(&secsnow);timeptr=localtime(&secsnow); wday1=timeptr->tm_wday;if(wday1==6)strcpy(s2,"Happy saturday!"); else if(wday1==0)strcpy(s2,"Happy sunday"); elsestrcpy(s2,"");hour1=timeptr->tm_hour;if(hour1>=4&&hour1<=10) strcpy(s3,"Good morning!"); else if(hour1>=17&&hour1<=22) strcpy(s3,"Good afternoon!"); elsestrcpy(s3,"Good evening!"); printf("%s%s%s",s1,s2,s3); getch();}#include<stdio.h>#include<conio.h>main(){int day,year,month,i=0;textbackground(BROWN);clrscr();while(i<=3){printf("Input 2 number:\n");scanf("%d%d",&year,&month);switch(month){case 1:case 3:case 5:case 7:case 8:case 10:case 12: day=31;break;case 4:case 6:case 11:day=30;break;case 2:day=28;if((year%4==0&&year%100!=0)||year%400==0)day=29;break;deflault:printf("Invalid month input!\n");return;}printf("There are%d days in %d.%d\n",day,year,month);i++; getch(); }}。
(完整版)c语言程序设计100例(考研专用)
![(完整版)c语言程序设计100例(考研专用)](https://img.taocdn.com/s3/m/5bb3a2f2c0c708a1284ac850ad02de80d4d806aa.png)
(完整版)c语言程序设计100例(考研专用)经典c程序100例==1--10【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
组成所有的排列后再去掉不满足条件的排列。
2.程序源代码:main(){int i,j,k;printf("\n");for(i=1;i<5;i++) /*以下为三重循环*/for(j=1;j<5;j++)for (k=1;k<5;k++){if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/printf("%d,%d,%d\n",i,j,k);}}============================================================== 【程序2】题目:企业发放的奖金根据利润提成。
利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。
注意定义时需把奖金定义成长整型。
2.程序源代码:main(){long int i;int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf("%ld",&i);bonus1=100000*0.1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i<=100000)bonus=i*0.1;else if(i<=200000)bonus=bonus1+(i-100000)*0.075;else if(i<=400000)bonus=bonus2+(i-200000)*0.05;else if(i<=600000)bonus=bonus4+(i-400000)*0.03;else if(i<=1000000)bonus=bonus6+(i-600000)*0.015;elsebonus=bonus10+(i-1000000)*0.01;printf("bonus=%d",bonus);}====================================== ======================== 【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。
c语言经典编程282例源码
![c语言经典编程282例源码](https://img.taocdn.com/s3/m/69a3415d571252d380eb6294dd88d0d233d43cd3.png)
c语言经典编程282例源码C语言是一门广泛应用于软件开发领域的编程语言,具有简洁、高效、灵活等特点。
为了帮助广大编程初学者快速入门C语言编程,我为大家整理了282个经典编程例子的源码,并以中文为大家生成了以下全面、生动且具有指导意义的文章。
第一章:基础语法C语言作为编程语言的基石,掌握其基础语法非常重要。
这一章的例子涵盖了C语言的基本数据类型、运算符、控制结构等内容,帮助读者快速理解和掌握C语言的基础知识。
第二章:数组和字符串数组和字符串是C语言中常用的数据结构,本章例子从简单到复杂地介绍了如何定义和使用数组,并展示了各种数组操作的技巧,以及如何处理字符串。
第三章:函数函数是C语言程序的基本组成部分,也是模块化编程的核心。
本章例子通过实例演示了如何定义和调用函数,以及如何应用函数解决实际问题。
第四章:指针指针是C语言的重要概念之一,也是其强大而灵活的部分。
本章例子详细介绍了指针的概念、指针变量的声明与使用,以及指针与数组、函数的关系,帮助读者深入理解指针的运作原理。
第五章:结构体和联合体结构体和联合体是C语言中的高级数据结构,可以用来组织和管理复杂的数据。
本章例子展示了如何定义和使用结构体和联合体,以及如何利用它们解决实际问题。
第六章:文件操作文件操作是C语言中常常需用到的操作之一,本章例子介绍了如何创建、打开和关闭文件,以及如何读取和写入文件内容,帮助读者理解和掌握C语言中的文件操作技巧。
第七章:动态内存分配动态内存分配是C语言中非常有用的功能,可以动态地为变量分配内存空间,提高程序的灵活性和效率。
本章例子演示了如何使用malloc和free等函数进行动态内存分配和释放。
通过阅读以上章节,读者可以全面了解和掌握C语言的基础知识和常用技巧,为后续的深入学习和开发打下坚实的基础。
此外,整理的这282个编程例子源码涵盖了C语言中的各个方面和难点,读者可以按照自己的需求选择相应的例子进行学习和实践。
通过逐个实例的分析和实践,读者可以更加深入地理解C语言的特点和应用场景,提高自己的编程水平和解决问题的能力。
经典C语言源代码
![经典C语言源代码](https://img.taocdn.com/s3/m/f1d3f21f657d27284b73f242336c1eb91a3733de.png)
经典C语言源代码1、(1)某年某月某日是星期几#include<stdio.h>intmain(){intyear,month,day;{if(month==1||month==2)//判断month是否为1或2{ year--;month+=12;}intc=year/100;inty=year-c*100;intweek=(c/4)-2*c+(y+y/4)+(13*(month+1)/5)+day-1;while(week<0){week+=7;}week%=7;switch(week){}}return0;}1、(2)某年某月某日是第几天(一维数组)voidmain(){inti,flag,year,month,day,dayth;intmonth_day[]={0,31,28,31,30,31,30,31,31,30,31,30,31};请输入年/月/日:dayth=day;flag=(year%400==0)||(year%4==0&&year%100!=0);if(flag)month_day[2]=29;for(i=1;i<month;i++)dayth=dayth+month_day[i];是第%4天}2、30个数中找最小的数及其位置#defineSIZE30voidmain(){inti;floatdata[SIZE];intmin;请输入%d个浮点数:for(i=0;i<SIZE;i++){data[i]=rand()%30+1;、}min=0;for(i=1;i<SIZE;i++){if(data[i]<data[min])min=i;最小值是%5.2f,位置是}3、30个数从小到大排序(1)#defineSIZE30voidmain(){inti,j;floatdata[SIZE],temp;intmin;请输入%d个整型数:for(i=0;i<SIZE;i++){}for(i=0;i<SIZE;i++){min=i;for(j=i+1;j<SIZE;j++)if(data[j]<data[min])temp=data[min];data[min]=data[i];data[i]=temp;}排序后的结果是:for(i=0;i<SIZE;i++)min=j;}(2)模块化程序(数组名作为函数参数)#defineSIZE5voidaccept_array(floata[],intsize);voidsort(floata[],intsize); voidshow_array(floata[],intsize);voidmain(){floatscore[SIZE];accept_array(score,SIZE);排序前:show_array(score,SIZE);sort(score,SIZE);排序后:show_array(score,SIZE);}voidaccept_array(floata[],intsize){inti;请输入%d个分数:for(i=0;i<size;i++)}voidshow_array(floata[],intsize){inti;for(i=0;i<size;i++)}voidsort(floata[],intsize){inti,min,j;floattemp;for(i=0;i<SIZE;i++){min=i;for(j=i+1;j<SIZE;j++)if(a[j]<a[min])min=j;}temp=a[min]; a[min]=a[i]; a[i]=temp;}}4、(1)指针加减:#defineSIZE10voidmain(){inta[SIZE]={1,2,3,4,5,6,7,8,9,10};int*pa,i;pa=&a[0];//pa=a;for(i=0;i<SIZE;i++){pa++;(2)指针比较:#defineSIZE10voidmain(){inta[SIZE]={1,2,3,4,5,6,7,8,9,10};int*pa,i;int*qa;pa=qa=&a[0];请输入%d整型数:for(;pa<qa+SIZE;pa++)for(pa--;qa<=pa;pa--)}5、两字符串相连:voidstr_cat(charstr1[],charstr2[]);voidmain(){inti,j;charstr1[160];charstr2[80];请输入第一个字符串:gets(str1);请输入第二个字符串:gets(str2);str_cat(str1,str2);puts(str1);}voidstr_cat(charstr1[],charstr2[]){ inti,j;i=0;i++;j=0;str1[i]=str2[j];i++;j++;}}6、二维数组(a,b转置)voidmain(){inti,j,b[2][3];inta[3][2]={{1,2},{3,4},{5,6}};for(i=0;i<2;i++){for(j=0;j<3;j++)b[i][j]=a[j][i];}for(i=0;i<3;i++){for(j=0;j<2;j++)}for(i=0;i<2;i++){for(j=0;j<3;j++)}7、输入一个二维数组并输出(指针)voidmain(){intx[2][3];inti,j;for(i=0;i<2;i++)for(j=0;j<3;j++)putchar('');for(i=0;i<2;i++){for(j=0;j<3;j++)putchar('');}}8、冒泡法排序一个数组#definesize10voidmaopao(inta[]);voidmain(){inta[10];inti;请输入10个整数:for(i=0;i<10;i++)maopao(a);}voidmaopao(inta[]){inti,j,temp;for(i=0;i<9;i++){//进行9轮排序for(j=0;j<9-i;j++)//每轮进行9-i次交换{if(a[j]>a[j+1]){temp=a[j];a[j]=a[j+1];//大的沉底,小的上浮a[j+1]=temp;排序结果:for(i=0;i<10;i++)}}9、两数组A,B,要求A<B,如A :4,7,9B :1,3,5,8,9变换后A :1,3, 5B :4,7,8,9,9#include<stdio.h>voidReArranger(int*A,int*B,intm,intn)//A和B是各有m个和n个整数的非降序数组,本算法将B数组元素逐个插入到A中,使A中各元素均不大于B中各元素,且两数组仍保持非降序排列。
(完整word版)(整理)C语言入门经典案例及源代码.
![(完整word版)(整理)C语言入门经典案例及源代码.](https://img.taocdn.com/s3/m/24699f2e6c175f0e7dd13726.png)
循环控制输出图案【程序1】题目:输出9*9口诀。
1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。
2.程序源代码:#include "stdio.h"main(){int i,j,result;printf("\n");for (i=1;i<10;i++){ for(j=1;j<10;j++){result=i*j;printf("%d*%d=%-3d",i,j,result);/*-3d表示左对齐,占3位*/}printf("\n");/*每一行后换行*/}}【程序2】题目:要求输出国际象棋棋盘。
1.程序分析:用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格。
2.程序源代码:#include "stdio.h"main(){int i,j;for(i=0;i<8;i++){for(j=0;j<8;j++)if((i+j)%2==0)printf("%c%c",219,219);elseprintf(" ");printf("\n");}}==============================================================【程序3】题目:打印楼梯,同时在楼梯上方打印两个笑脸。
1.程序分析:用i控制行,j来控制列,j根据i的变化来控制输出黑方格的个数。
2.程序源代码:#include "stdio.h"main(){int i,j;printf("\1\1\n");/*输出两个笑脸*/for(i=1;i<11;i++){for(j=1;j<=i;j++)printf("%c%c",219,219);printf("\n");}}【程序4】题目:打印出如下图案(菱形)****************************1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重for循环,第一层控制行,第二层控制列。
经典C语言程序100例
![经典C语言程序100例](https://img.taocdn.com/s3/m/72cd1b62f5335a8102d220e3.png)
经典C语言程序100例(1-10)【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
组成所有的排列后再去掉不满足条件的排列。
2.程序源代码:main(){int i,j,k;printf("\n");for(i=1;i<5;i++) /*以下为三重循环*/for(j=1;j<5;j++)for (k=1;k<5;k++){if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/printf("%d,%d,%d\n",i,j,k);}}==============================================================【程序2】题目:企业发放的奖金根据利润提成。
利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。
注意定义时需把奖金定义成长整型。
2.程序源代码:main(){long int i;int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf("%ld",&i);bonus1=100000*0.1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i<=100000)bonus=i*0.1;else if(i<=200000)bonus=bonus1+(i-100000)*0.075;else if(i<=400000)bonus=bonus2+(i-200000)*0.05;else if(i<=600000)bonus=bonus4+(i-400000)*0.03;else if(i<=1000000)bonus=bonus6+(i-600000)*0.015;elsebonus=bonus10+(i-1000000)*0.01;printf("bonus=%d",bonus);}==============================================================【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。
C语言程序设计精选案例讲义完整版本.docx
![C语言程序设计精选案例讲义完整版本.docx](https://img.taocdn.com/s3/m/83632e90bcd126fff6050b9b.png)
C语言程序设计模块一认识 C 语言能力标准:了解 C 语言的作用;熟悉 C 程序结构;掌握 TC 集成调试环境的使用。
知识点:C语言是人和计算机交流的一种工具;C语言程序的执行过程。
1. C 语言的发展计算机语言是计算机和人交流的工具,必须遵守一定的规则,具有一定的书写格式。
C 语言就是一种计算机语言,诞生于1972 年,是由美国电话电报公司(AT&T)贝尔实验室的设计。
C 语言诞生至今已 30多年,其发展经历了ALGOL(1960 年 )—CPL(1963 年 )—B(1970 年 )—C( 1972 年)的演变过程。
2.人机交流人和计算机交流可以采用对话形式的一问一答方式,也可采用任务方式,即把需要交流的内容集中在一起,一次性完成。
前者的专业述语叫解释方式,后者叫编译方式。
用 C 语言进行人和计算机交流采用的是编译方式。
具体过程如下:编程首先人将和计算机交流的内容按要求,用 C 语言写成任务,如要计算机计算5!,则需要写出以下任务:#include<>main(){float m,k,j;k=5;m=1;for(j=1;j<=k;j++)m=m*j;上述用 C 语言表示的任务,称为程序。
所谓程序指由一系指令组成,完成某个具体功能的指令集合。
编译计算机本身是一堆零件,它只知道高低电平,对应到二进制就是“0”和“ 1”这两个符号,当然它是不认识我们用上述符号写成的程序,因此我们需要将上述程序进行转换,转换成由“0”和“ 1”的组合来表示的二进制程序,也就是机器语言程序。
我们把这样的转换称之为编译。
连接为了方便程序的编写,专业人员已经将许多常用的功能写成了固定的程序,并已进行编译,我们在编写实际应用程序时可以直接使用现成的功能程序,这些功能程序要和用户编写的程序连接起来,形成最终计算机能够执行的机器语言程序。
执行经过上述三步之后生成的机器语言程序,在Turbo C 系统中称为目标程序,把目标程序交给计算机,计算机在操作系统的支持下,就能按人的要求实现相应的功能,就是执行程序,并把执行的结果输出在输出设备上,供人来阅读,从而实现人机交流。
简单易懂的C语言源代码(供初学者使用)
![简单易懂的C语言源代码(供初学者使用)](https://img.taocdn.com/s3/m/d29c27df9b89680203d82538.png)
#include<stdio.h>main(){float pi=3.14159265,r;printf("enter radius:\n");scanf("%f",&r);printf("r=%.2f,c=%.2f,area=%.2f\n",r,2*pi*r,pi*r*r);system("pause");}#include<stdio.h>main(){int m,n,x,y;printf("inputm,n:\n");scanf("%d%d",&m,&n);if (n%2==1){printf("error!! n bu shi ji shu!\n",n);return;}/*n在这里不能是奇数*/x=(4*m-n)/2;y=(n-2*m)/2;if((x>=0)&&(y>=0))printf("x=%d,y=%d\n",x,y); elseprintf("shu ru cuo wu!\n");getch();}#include<stdio.h>#include<math.h>#include<stdlib.h>main(){float a,b,C;printf("enter 3number(a,b,C):\n"); scanf("%.2f %.2f %.2f",&a,&b,&C); s=0.5*a*b*sinC;printf("s=%.2f\n",s);system("pause");}#include<stdio.h>main(){int ds,nl,yf;char c;printf("shu ru ds;\n");scanf("%d",&ds);if (ds<14||ds>1184){printf("input error!press any end...\n"); scanf("%c",&c);exit(0);}/*输入的数字必须是-14~1184之间*/nl=(ds+115)%100;yf=(ds+115)/100;printf("nl=%d,yf=%d\n",nl,yf);system("pause");}#include<stdio.h>#include<string.h>main(){char s1[100],s2[100],s3[100],s4[100]; printf("input a string:\n");gets(s1);strcpy(s1,s2);strcat(s1,"--------------");strcpy(s3,strcat(s1,"--------------"));strcat(strcpy(s3,strcat(s1,"--------------")),s2);strcpy(s4,strcat(strcpy(s3,strcat(s1,"--------------")),s2)); puts(s4);system("pasue");getch();}#include<stdio.h>#include<math.h>main(){float x1,x2,a,b,c;printf("input 3 number(a,b,c):\n");scanf("%f%f%f",&a,&b,&c);x1=(-b+sqrt(b*b-4*a*c))/(2*a);x2=(-b-sqrt(b*b-4*a*c))/(2*a);printf("x1=%f,X2=%f\n",x1,x2);system("pause");getch();}#include<stdio.h>main(){int a,b,c,t;printf("input 3 number:\n");scanf("%d%d%d",&a,&b,&c);if(a>b){t=a;a=b,b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}printf("1:%d,2:%d,3:%d\n",a,b,c);system("pause");}#include<stdio.h>#include<stdlib.h>#include<conio.h>main(){float pi=3.14159265,r;textbackground(YELLOW);/* 设置背景色为黄色,注意颜色应该大写,可更改 */ textcolor(RED); /* 设置文件颜色为红色,可更改 */clrscr(); /* 清屏,使设置生效 */printf("enter radius:");scanf("%f",&r);if(r<0)printf("Enter Error!\n");elseprintf("r=%.2f,c=%.2f,area=%.2f\n",r,2*pi*r,pi*r*r); system("pause");/* 暂停,按任一键继续 */#include<stdio.h>#include<math.h>#include<conio.h>main(){float a,b,c,delt,x1,x2,p,q;textcolor(YELLOW);clrscr();printf("Input a b c:\n");scanf("%f%f%f",&a,&b,&c);if(a==0){printf("It's not a quadratic equation!\n");system("pause");return;}delt=b*b-4*a*c;if(delt>=0){x1=(-b+sqrt(delt))/(2*a);x2=(-b-sqrt(delt))/(2*a);printf("x1=%.3f x2=%.4f\n",x1,x2);}else{p=-b/(2*a);q=sqrt(-delt)/(2*a);printf("p=%.4fq=%.4f\n",p,q);}system("pause");getch();}}#include<stdio.h>main(){float pi=3.14159265,r;int k=0;while(k<=3){printf("enter radius:\n");scanf("%f",&r);printf("r=%.2f,c=%.2f,area=%.2f\n",r,2*pi*r,pi*r*r); printf("press any key to continue\npress esc to exit."); k++;}}#include<stdio.h>#include<stdlib.h>#include<time.h>#include<conio.h>main(){int a,b,c,oper;long limit,i=0;char char1;textcolor(GREEN);/*设置字体颜色为绿色*/clrscr(); /*清屏,是设置生效*/while(i<=3){printf("qing xuan ze jia huo jian(1or2,1:+,2:-\n"); scanf("%d",&oper);printf("Enter max (<10000):\n");scanf("%ld",&limit);srand((unsigned long)time(0));a=rand()*limit/RAND_MAX;b=rand()*limit/RAND_MAX;while((a<b)&&(oper==2)){a=rand()*limit/RAND_MAX;b=rand()*limit/RAND_MAX;}char1=(oper==2?'-':'+');printf("%d%c%d\n",a,char1,b);scanf("%d",&c);if((oper==2&&a-b==c)||(oper!=2&&a+b==c)) printf("OK!You are very clever!\n"); elseprintf("The result is not correct!\n"); i++;}getch();}#include<stdio.h>#include<conio.h>main(){int y,i=0;textcolor(YELLOW);/*天下事无难易之分只有做与不做之别*/ textbackground(GREEN);clrscr();/*清屏,是设置生效*/while(i<=3){printf("Input year:\n");scanf("%d",&y);if(y%4==0){if(y%100==0){if(y%400==0)printf("y shi run nian!\n"); elseprintf("y bu shi run nian !\n"); }elseprintf("y shi run nian!\n");}elseprintf("y bu shi run nian!");i++;}getche();}#include<stdio.h>#include<time.h>#include<string.h>main(){int xz,wday1,hour1;struct tm *timeptr;time_t secsnow;char s1[30],s2[30],s3[30];printf("input whom do you say to?:\n"); scanf("%d",&xz);if(xz==1)strcpy(s1,"mother");else if(xz==2)strcpy(s1,"father");elsestrcpy(s1,"");time(&secsnow);timeptr=localtime(&secsnow);wday1=timeptr->tm_wday;if(wday1==6)strcpy(s2,"Happy saturday!");else if(wday1==0)strcpy(s2,"Happy sunday");elsestrcpy(s2,"");hour1=timeptr->tm_hour;if(hour1>=4&&hour1<=10)strcpy(s3,"Good morning!");else if(hour1>=17&&hour1<=22)strcpy(s3,"Good afternoon!");elsestrcpy(s3,"Good evening!");printf("%s%s%s",s1,s2,s3);getch();}#include<stdio.h>#include<conio.h>main(){int day,year,month,i=0;textbackground(BROWN);clrscr();while(i<=3){printf("Input 2 number:\n");scanf("%d%d",&year,&month);switch(month){case 1:case 3:case 5:case 7:case 8:case 10:case 12: day=31;break;case 4:case 6:case 11:day=30;break;case 2:day=28;if((year%4==0&&year%100!=0)||year%400==0)day=29;break;deflault:printf("Invalid month input!\n");return;}printf("There are%d days in %d.%d\n",day,year,month); i++;getch();}}。
535个C语言经典实例目录
![535个C语言经典实例目录](https://img.taocdn.com/s3/m/f93052f89e3143323968934a.png)
目录第1篇基础篇第1章C语言初步(教学视频:31分钟) (2)1.1 C语言概述 (2)实例001 一个体现C语言特点的例子 (2)实例002 设计第一个C语言程序 (3)实例003 演示C程序书写规范 (5)1.2 C语言程序的调试 (7)实例004 演示C程序调试过程 (7)实例005 演示开始阶段常见错误 (9)第2章C语言中的数据和表达式(教学视频:39分钟) (11)2.1 数据类型和常量 (11)实例006 体现数据类型的作用 (11)实例007 符号常量的使用 (13)实例008 数值型常量的使用 (14)实例009 字符型常量的使用 (15)2.2 变量以及变量的应用 (17)实例010 演示变量的错误定义 (17)实例011 变量的存储 (18)实例012 变量的赋值 (20)实例013 数据的溢出 (21)2.3 算术运算符和表达式 (23)实例014 基本算术运算符的应用 (23)实例015 自加自减表达式的应用 (24)实例016 体现表达式构成的实例 (25)2.4 赋值和逗号表达式和运算符 (27)实例017 赋值运算符的应用 (27)实例018 赋值表达式类型的转化 (28)实例019 复合赋值运算符的应用 (29)实例020 逗号运算符的应用 (30)2.5 关系运算符和表达式 (31)实例021 关系运算符的应用 (31)实例022 关系表达式进行算术运算 (32)2.6 逻辑运算符和表达式 (33)实例024 体现逻辑运算符特殊性的实例 (34)2.7 sizeof、取址运算符和数据类型强制转换 (36)实例025 sizeof和取址运算符的应用 (36)实例026 类型强制转换 (37)第3章顺序程序设计(教学视频:44分钟) (39)3.1 基本语句的组成 (39)实例027 表达式语句的使用 (39)实例028 复合语句的使用 (41)3.2 标准库函数的应用 (42)实例029 stdlib库的函数应用 (42)实例030 math库的函数应用 (43)3.3 标准输出和输入函数 (45)实例031 得到正确的输入数据 (45)实例032 输出格式设置 (47)3.4 字符输入和输出函数 (48)实例033 字符的输入和输出 (49)实例034 字符串常量的输出 (50)3.5 顺序程序结构 (51)实例035 两个变量交换 (51)实例036 输出字符的前驱和后继 (52)实例037 摄氏度和华氏度之间的转换 (53)实例038 分解三位整数的各位数字 (54)实例039 计算一元二次方程ax2+bx+c=0的根 (55)实例040 打印用星号组成的图案 (56)实例041 小写字母转换成大写字母 (57)实例042 计算圆形周长、面积和球体体积 (58)实例043 求学生总成绩和平均成绩 (59)实例044 求三角形面积 (60)实例045 小数的四舍五入 (61)第4章选择程序设计(教学视频:101分钟) (62)4.1 if型选择语句 (62)实例046 单条件单分支选择语句的应用 (62)实例047 单条件双分支if语句的应用 (64)实例048 多条件if语句的应用 (65)实例049 按照数据由小到大的顺序输出三个数 (68)实例050 常见的if语句使用的错误实例 (70)实例051 条件运算符的使用 (72)4.2 if型选择程序设计综合实例 (73)实例052 输入整数判断正负和奇偶 (73)实例053 判断输入字符的种类 (75)实例054 数学分支函数 (76)实例055 输入三角形的边长求面积 (78)实例056 不大于5位的正整数的每位数的处理 (80)实例057 解方程ax2+bx+ c=0 (82)·VI·实例059 求某学生的总分、平均分、最高分和最低分 (85)4.3 switch 分支选择程序设计 (86)实例060 switch的使用 (86)实例061 switch使用的错误分析实例 (88)实例062 简单计算器 (90)实例063 计算工人工资 (92)实例064 学生百分制成绩等级评判 (93)实例065 模拟自动饮料机 (95)实例066 判断某年某月某日是这一年的第几天 (96)实例067 根据银行利息的变化计算到期的应得金额 (98)4.4 选择程序的测试 (100)实例068 并列选择结构的测试 (100)实例069 嵌套选择结构的测试 (101)实例070 switch结构选择结构的测试 (103)第5章循环程序设计(教学视频:119分钟) (105)5.1 while型循环 (105)实例071 while语句的使用 (105)实例072 while语句的常见错误实例分析 (107)实例073 简单的猜数游戏 (109)实例074 爱因斯坦阶梯问题 (110)实例075 判断一个整数是否为素数 (112)实例076 统计字符 (113)实例077 求 的值 (115)实例078 最大公约数和最小公倍数 (116)实例079 十进制转换为八进制 (118)实例080 求某数的阶乘 (119)5.2 do...while型循环程序设计 (120)实例081 do...while型循环控制实例分析.. (120)实例082 加密和解密 (122)实例083 组成数字的各位和 (123)实例084 牛顿迭代法计算方程的根 (124)实例085 菜单程序的打印 (125)实例086 整数逆序输出 (127)实例087 do...while语句常见的错误实例分析 (128)5.3 for型循环程序设计 (129)实例088 for型循环的使用 (130)实例089 输出1~20中能被3整除的数,并求出它们的和 (131)实例090 输出华氏——摄氏温度对照表 (132)实例091 对给定数目数据的统计 (133)实例092 求2000~2050年间的闰年 (134)实例093 求4位反序数 (135)实例094 斐波那契数列 (136)实例095 判断n是否为回文数 (138)实例096 计算数列12+22+...+502.. (139)·VII·实例098 找出个位数为6且能被3整除的五位数 (141)5.4 break和continue的应用 (142)实例099 break语句的应用 (142)实例100 continue语句的应用 (143)实例101 输出10~100之间的全部素数 (145)实例102 统计不及格的人数 (146)5.5 三种循环形式的应用分析 (148)实例103 求自然数中各位数字之和 (148)实例104 求1!+2!+3!+...n! .. (149)实例105 计算多个数据的最大值 (151)实例106 增长率问题 (153)第6章控制结构综合实例(教学视频:139分钟) (155)6.1 累计问题 (155)实例107 计算自然对数e的值 (155)实例108 分数数列求和 (156)实例109 求a+aa+...+aa...a的和 (158)实例110 弹球落地弹起多次的路程计算 (159)实例111 猴子吃桃问题 (160)实例112 计算s=11+22+33+...+n n.. (161)实例113 求解立方和不等式13+23+...+m3<n (162)实例114 求解调和级数不等式 (163)实例115 求解平方根不等式 (164)实例116 实数数列求和 (165)实例117 求数列1–1/2–1/3+1/4–...1/n的和 .. (166)6.2 图形输出问题 (167)实例118 星号图形的打印 (167)实例119 打印九九乘法表 (169)实例120 输出数字金字塔 (170)实例121 输出字母金字塔 (172)实例122 输出国际象棋棋盘 (174)实例123 输出星号组成的菱形 (175)实例124 绘制余弦曲线 (177)实例125 绘制余弦曲线和直线 (179)6.3 数学问题 (180)实例126 将一个正整数分解质因数 (181)实例127 用迭代法计算平方根 (183)实例128 若ab×ba=1855,求a、b的取值 (184)实例129 用0~9组成无重复的三位数的个数 (185)实例130 用对分法求方程的实根 (186)实例131 求非线性方程x-1-arctanx=0的一个实根 (188)实例132 分子多项式求值 (189)实例133 爱因斯坦数学问题 (191)实例134 求七进制和九进制数码相反的三位数 (192)实例135 输出10 000以内所有的完全数 (193)·VIII·实例137 求具有abcd=(ab+cd)2性质的四位数 (196)实例138 分数四则运算 (197)实例139 输出1~100之间每位数的乘积大于每位数的和的数 (199)实例140 阶乘尾数中含有0的个数计算 (200)实例141 采用近似计算的方法计算已知函数的定积分 (201)6.4 选择问题 (202)实例142 求水仙花数 (202)实例143 搬砖问题 (203)实例144 百元百鸡问题 (205)实例145 选人执行任务 (207)实例146 排列组合问题 (209)实例147 大奖赛评分程序 (210)实例148 乒乓球队进行比赛名单 (212)第7章数组(教学视频:153分钟) (213)7.1 一维数组 (213)实例149 一维数组的定义 (213)实例150 一维数组的初始化 (215)实例151 存放统计各分数段的人数 (216)实例152 用数组来处理斐波那契数列 (219)实例153 数组中元素的比较与交换实例 (220)实例154 选择法排序 (221)实例155 起泡法排序 (223)实例156 数组的查找和插入实例 (224)实例157 数据的折半查找 (226)实例158 求出平均分并输出学生成绩 (229)实例159 课程的总评成绩 (230)实例160 成绩的分段统计 (231)实例161 判断回文数 (233)实例162 三个数组的关系 (234)实例163 用5个数组成方阵 (236)实例164 找素数并排序 (237)实例165 有序数列的插入 (239)实例166 判断一个整数是否在数组里 (240)实例167 筛选法求素数 (241)实例168 将数组元素逆序存放 (242)实例169 数字加密 (244)7.2 二维数组 (245)实例170 二维数组的使用 (246)实例171 学生成绩处理 (247)实例172 多维数组的处理 (249)实例173 下三角形问题 (250)实例174 打印杨辉三角 (251)实例175 矩阵的转置 (253)实例176 两个矩阵相乘 (254)·IX·实例178 求二维数组每一行的最大值 (257)实例179 数组程序实例分析 (258)实例180 找出二维数组元素最值 (260)实例181 简单的学生成绩管理系统 (261)实例182 马鞍点问题 (264)实例183 不同行进行排序 (266)7.3 特殊矩阵 (267)实例184 设计对称矩阵 (267)实例185 矩阵特殊元素的填充 (269)实例186 蛇形排列数组元素 (271)实例187 设计螺旋方阵 (273)实例188 设计魔方阵 (276)实例189 二维数组每行最大值中的最小值 (278)第2篇提高篇第8章函数(教学视频:132分钟) (282)8.1 函数的应用 (282)实例190 程序中的函数应用 (282)实例191 函数的定义 (284)实例192 函数的调用 (285)实例193 形参和实参单向的值传递 (287)实例194 函数参数的求值顺序 (289)实例195 声明函数 (290)实例196 return语句的应用 (291)实例197 有规律数列的求和 (292)实例198 编写函数输出图形 (294)实例199 歌德巴赫猜想 (295)实例200 求1~1000的阶乘和数 (296)实例201 比较两个分数的大小 (297)实例202 求整数n的全部素数因子 (299)8.2 用数组作为函数参数 (300)实例203 求数组中元素的最大值 (300)实例204 数组元素逆序存放 (302)实例205 两个数组元素的交换 (304)实例206 约瑟夫环问题 (305)实例207 数组中连续相等数的计数 (307)实例208 数组中元素的分类存放 (308)实例209 两个有序数组中元素的交换 (310)实例210 两个矩阵的和 (311)实例211 螺旋方阵的填充 (313)实例212 判断二维数组元素是否互不相同 (315)8.3 嵌套函数 (316)·X·实例213 函数嵌套调用 (316)实例214 梯形法计算积分 (317)实例215 编写连分式的计算程序 (319)实例216 组合数的求法 (320)实例217 函数嵌套验证哥德巴赫猜想 (322)实例218 计算正数的n次根 (323)8.4 递归调用 (324)实例219 递归解决猴子吃桃问题 (324)实例220 递归函数的执行分析 (326)实例221 递归求解最大公约数 (328)实例222 递归求解数组中的最大值 (329)实例223 递归实现整数逆序 (330)实例224 递归求数据的平方根 (331)实例225 递归输出等腰三角形 (332)实例226 递归进行1~n的自然数求和 (333)实例227 汉诺塔问题 (334)实例228 杨辉三角的递归解决方案 (336)实例229 Ackermann()函数的递归程序 (337)实例230 组合问题递归 (338)实例231 递归计算函数值 (339)第9章指针(教学视频:174分钟) (341)9.1 指针以及指针变量 (341)实例232 变量与地址的应用 (341)实例233 指针变量的定义 (342)实例234 取地址运算符的使用 (343)实例235 指针运算符的使用 (344)实例236 指针变量使用错误的实例 (345)实例237 指针变量的指向 (347)实例238 指针变量和整数的运算 (348)实例239 指针变量相减运算 (350)实例240 指针中比较运算符的应用 (351)实例241 指针变量作为函数参数 (352)实例242 统计空白符和小写字符的个数 (353)9.2 指针和一维数组 (355)实例243 利用指针输出一维数组中的元素 (355)实例244 统计数组中大于平均值的元素个数 (356)实例245 利用指针把数组逆序 (357)实例246 指针实现数组元素的移位 (358)实例247 对数组中奇偶下标的数据分别求和 (360)实例248 使用指针交换两个数组中的最大值 (361)实例249 判断数组是否中心对称 (362)实例250 整数逆序存放 (363)实例251 计算数组连续两个元素积 (364)9.3 指针和二维数组 (365)实例252 二维数组的地址描述 (365)·XI·实例253 处理二维数组中的所有元素 (367)实例254 使用指向一维数组的指针处理二维数组 (368)实例255 求二维数组中元素的最大值 (370)实例256 输出二维数组中每行的最大值以及其存储位置 (371)实例257 输出学生成绩中2门以上成绩不及格的学生 (372)9.4 指向函数的指针 (373)实例258 函数指针的应用 (373)实例259 利用函数指针求两个数据的最值、和、差 (374)9.5 返回指针的函数 (376)实例260 返回指针的函数应用 (376)实例261 指针函数找出不合格的参赛人员 (377)9.6 指针数组 (378)实例262 指针数组的应用 (379)实例263 指针数组处理字符串 (380)9.7 二级指针 (381)实例264 二级指针变量的应用 (381)实例265 用二级指针处理多个字符串 (382)9.8 具有参数的主函数 (383)实例266 具有参数的主函数应用 (383)实例267 根据命令行的提示选择程序的功能 (384)9.9 指针应用综合实例 (385)实例268 数组中元素不改变次序的排序 (386)实例269 有序数组中删除多余元素 (387)实例270 实现有序数组的合并 (389)实例271 删除数组中的连续元素 (390)实例272 有序数组中元素的插入 (391)实例273 统计数组中不同元素出现的次数 (392)实例274 利用函数指针计算定积分 (394)实例275 利用指针函数输出销售额 (396)第10章字符串(教学视频:183分钟) (398)10.1 字符数组 (398)实例276 字符串中逐个字符的输入和输出 (398)实例277 字符串的整体输入和输出 (399)实例278 不同字符的统计 (401)实例279 统计一个字符串中单词的个数 (402)实例280 处理多个字符串 (403)10.2 字符数组处理字符串 (404)实例281 判断字符串是否对称 (404)实例282 整数转化为字符串 (405)实例283 字符串匹配 (406)实例284 字符串复制中实现空白符的显示 (408)实例285 转化无符号数据为二进制表示 (409)实例286 删除字符串中指定字符 (410)实例287 有序字符串的合并 (411)实例288 把字符串中的字符插入到升序的字符串中 (412)·XII·实例289 输出两个字符串的前缀 (413)实例290 判断反对称的字符串 (414)实例291 数字字符串转换为数字 (415)实例292 统计字符串的长度 (416)实例293 密码输入程序 (417)10.3 字符串函数 (418)实例294 去掉字符串的尾空格 (418)实例295 计算字符串长度 (419)实例296 字符串复制 (420)实例297 字符串逆序赋值 (421)实例298 字符串连接 (422)实例299 自定义字符串连接 (423)实例300 字符串比较 (424)实例301 自定义字符串比较函数 (425)10.4 字符串函数应用 (426)实例302 对子串的定位 (426)实例303 求子串 (427)实例304 子串的插入 (428)实例305 删除多个连续字符 (430)实例306 字符串升序排序 (431)实例307 密码检测 (432)10.5 字符指针 (433)实例308 使用字符指针变量表示和引用字符串 (433)实例309 字符指针作为函数参数 (434)实例310 统计子串出现次数 (435)实例311 在字符串中删除字符 (436)实例312 函数实现字符串连接 (437)实例313 去掉字符串前缀0 (438)实例314 数字字符串转化为数字 (439)实例315 判断子串 (441)实例316 字符串的格式化 (442)实例317 罗马数字转换 (444)实例318 实现通配符匹配功能 (445)10.6 字符串处理综合实例分析 (446)实例319 返回字符串中的最长单词 (446)实例320 十进制数据转换二进制、八进制和十六进制 (448)实例321 字符串最大公共子串实例分析 (449)实例322 删除指定格式单词 (451)实例323 求最长等值子串 (452)实例324 串的置换 (454)实例325 字符串的插入 (456)实例326 字符串的查找 (457)第11章编译预处理和变量作用域(教学视频:112分钟) (460)11.1 宏定义 (460)实例327 无参宏的定义 (460)·XIII·实例328 查看预处理结果 (461)实例329 无参宏定义的使用 (462)实例330 宏的定义域 (463)实例331 设计宏进行血压正常的判断 (464)实例332 迭代求根中利用宏表示精度 (465)实例333 带参宏的定义 (466)实例334 宏定义常见的错误实例分析 (466)实例335 奇数求和 (467)实例336 创建宏计算上缴税款 (468)实例337 宏计算三角形面积 (469)11.2 文件包含 (470)实例338 文件包含的应用 (470)实例339 设计输出模式 (472)实例340 编写头文件包含圆和球的计算公式 (473)11.3 条件编译 (474)实例341 #if条件编译指令的使用 (474)实例342 条件编译隐藏密码 (475)实例343 #elif条件编译指令的使用 (476)实例344 #ifdef条件编译指令的使用 (477)实例345 #ifndef条件编译指令的使用 (478)实例346 用条件编译实现加密和解密 (479)实例347 条件编译实现开关功能 (480)实例348 条件编译调试程序 (481)11.4 变量的作用域 (482)实例349 局部变量的应用 (483)实例350 寻找n x和n y中末3位数相同且能使x+y的和最小的x和y (484)实例351 全局变量实现交换 (485)实例352 全局变量实现成绩处理 (486)实例353 变量同名问题的处理 (487)11.5 变量的存储属性 (489)实例354 使用auto定义的局部变量 (489)实例355 使用static定义的局部变量 (490)实例356 静态局部变量计算阶乘 (491)实例357 使用register定义的局部变量 (493)实例358 使用static定义的全局变量 (494)实例359 使用external定义的全局变量 (494)11.6 函数的作用域 (495)实例360 外部函数的应用 (495)实例361 多文件程序的运行 (497)第12章结构体和共用体(教学视频:116分钟) (500)12.1 结构体类型和结构变量 (500)实例362 结构体类型的定义 (500)实例363 结构体变量定义及使用 (501)实例364 结构变量内存空间的分配 (503)实例365 结构变量的整体应用 (504)·XIV·实例366 结构变量的初始化 (505)实例367 结构变量作为函数参数的应用 (506)实例368 求空间任两点距离 (508)实例369 点和圆的位置判断 (509)12.2 结构体数组 (510)实例370 结构体数组的使用 (510)实例371 结构数组的初始化 (512)实例372 整数排序 (513)实例373 建立同学通讯录 (514)实例374 票数统计 (515)实例375 结构数组作为函数参数的应用 (517)12.3 结构体指针 (518)实例376 结构指针处理变量 (518)实例377 指针变量处理结构数组 (520)实例378 部分字符加密 (521)实例379 指向数组元素的结构指针运算 (522)12.4 共用体 (523)实例380 共用体变量的应用 (523)实例381 共用体变量使用错误实例分析 (524)实例382 取出整型变量的高字节和低字节数据 (526)实例383 处理任意类型数据 (527)12.5 枚举类型 (528)实例384 枚举类型的应用 (528)实例385 日期的计算 (529)实例386 求解不同水果组成的拼盘数目 (530)12.6 综合实例分析 (532)实例387 复数运算 (532)实例388 日期处理 (535)实例389 数据连续查询 (538)实例390 数据的排序输出 (539)实例391 输出火车票价 (541)实例392 模拟人工洗牌 (542)实例393 使用联合变量保存表格数据 (544)第13章链表(教学视频:113分钟) (548)13.1 动态分配内存 (548)实例394 typedef自定义类型的应用 (548)实例395 调用malloc()函数分配内存 (550)实例396 调用calloc()函数分配内存 (551)实例397 一个学生信息的动态存放 (552)实例398 处理任意长度的多个字符串 (553)13.2 单链表 (554)实例399 构建单链表结构 (554)实例400 头插法建立单链表 (556)实例401 尾插法建立单链表 (558)实例403 在单链表中按照序号实现元素的查找 (561)实例404 在单链表中按照指定值实现元素的查找 (562)实例405 单链表中第n个结点前的插入 (564)实例406 链表中结点的删除 (566)实例407 有序单链表的合并 (568)实例408 带有头结点的单链表逆序 (570)实例409 在带头结点的单链表中寻找最小值结点 (571)实例410 删除链表中从第i个元素开始的len个元素 (572)13.3 单循环链表 (574)实例411 单循环链表的建立 (575)实例412 两个单循环链表的合并 (576)实例413 单循环链表中的结点个数统计 (577)13.4 双向链表 (578)实例414 双向链表的建立 (579)实例415 双向链表的插入 (580)实例416 双向链表的删除 (582)13.5 链表的应用实例 (583)实例417 对带有头结点的单链表中的结点进行排序 (584)实例418 寻找两个链表的相同元素 (586)实例419 单链表的分解 (587)实例420 求两个集合的差 (589)实例421 单链表中结点的下标和数据的处理 (590)实例422 处理整数单链表 (591)实例423 删除单链表中连续相同的数据结点 (593)实例424 子串的判定 (594)实例425 交换双向链表的前后两个结点 (595)第3篇算法篇第14章常用算法(教学视频:80分钟) (600)14.1 枚举法 (600)实例426 找到交通肇事犯 (600)实例427 奇异的三位数 (601)实例428 三色球问题 (602)实例429 求回文素数 (603)14.2 递推法 (604)实例430 8除不尽的自然数 (604)实例431 出售金鱼 (605)14.3 模拟人工 (606)实例432 回文数的形成 (606)实例433 填表格 (607)14.4 回溯法 (609)实例434 满足特异条件的数列 (609)14.5 常用内部排序 (612)实例436 直接插入排序 (613)实例437 折半插入排序 (614)实例438 希尔排序 (615)实例439 冒泡排序 (617)实例440 快速交换排序 (618)实例441 堆排序 (620)实例442 二路归并排序 (621)第15章数据结构与算法(教学视频:91分钟) (623)15.1 线性数据结构 (623)实例443 建立线性顺序表 (623)实例444 建立顺序栈 (625)实例445 括号匹配 (627)实例446 循环队列实现 (629)实例447 稀疏矩阵的存储 (631)实例448 稀疏矩阵转置 (632)15.2 二叉树 (634)实例449 创建二叉树的二叉链表存储 (634)实例450 二叉树先序非递归遍历 (636)实例451 二叉树中序非递归遍历 (637)实例452 二叉树后序非递归遍历 (639)实例453 哈夫曼树 (641)15.3 图 (643)实例454 图的邻接链表存储结构 (643)实例455 图的深度优先遍历 (645)实例456 图的广度优先遍历 (646)实例457 拓扑排序 (647)15.4 常见查找算法 (650)实例458 顺序查找的实现 (650)实例459 有序表折半查找 (651)实例460 动态表的查找 (652)第4篇底层处理与项目开发篇第16章位运算(教学视频:36分钟) (658)16.1 按位与、或运算 (658)实例461 按位与的运算 (658)实例462 取数据的某些位 (659)实例463 按位清零 (660)实例464 按位或的运算 (661)实例465 将一个数的低5位置为1 (662)16.2 按位异或、取反运算 (663)实例469 按位取反的运算 (665)16.3 移位运算 (666)实例470 按位左移的运算 (666)实例471 按位右移的运算 (667)实例472 输出数据的补码 (668)16.4 位段 (668)实例473 位段变量的内存分配 (669)实例474 指向位段指针变量的应用 (670)实例475 温度测控系统 (671)16.5 位运算综合应用 (673)实例476 取出数据的连续几位 (673)实例477 数据二进制的存储形式输出 (674)实例478 取出数据的偶数位 (675)实例479 数据的循环右移位 (676)实例480 计算整数中位值为1的个数 (677)第17章文件(教学视频:97分钟) (679)17.1 文件打开 (679)实例481 文件的打开与关闭 (679)实例482 打开一批文件 (681)17.2 文件读写 (682)实例483 使用fputc()函数写入文件 (683)实例484 使用fgetc()函数读取文件 (684)实例485 磁盘文件的复制 (685)实例486 多个文件合并 (686)实例487 使用fputs()函数写入文件 (687)实例488 使用fgets()函数读取文件 (688)实例489 文本的存储和输出 (689)实例490 使用fprintf()函数写入文件 (690)实例491 使用fscanf()函数读取文件 (692)实例492 使用fwrite()函数写入文件 (693)实例493 使用fread()函数读取文件 (694)17.3 文件定位和错误检测 (696)实例494 文件指针定位到开头 (696)实例495 文件随机读写 (697)实例496 文件倒置 (699)实例497 出错标志变化 (700)实例498 文件检错函数 (701)实例499 文本的追加 (702)实例500 文件部分输出 (703)17.4 文件操作的应用 (704)实例501 多个字符存储 (705)实例502 多行字符串存储 (706)实例503 标准输入输出设备的数据和文件数据 (707)实例506 文件查找字符串 (711)实例507 结构型数据的存储 (712)实例508 统计文件的字符数 (714)实例509 同时显示两个文件的内容 (715)实例510 文件统计 (716)第18章系统调用(教学视频:83分钟) (719)18.1 文本窗口调用 (719)实例511 多窗口的定义以及背景色的设置 (719)实例512 窗口内文本的输入和输出实例 (720)实例513 制作简单的文本菜单 (721)18.2 图形窗口调用 (723)实例514 绘图前的准备 (723)实例515 绘图窗口的颜色设置 (724)实例516 图形窗口的坐标 (725)实例517 画点函数的使用 (725)实例518 绘制直线 (726)实例519 绘制矩形 (727)实例520 绘制条形条块 (728)实例521 绘制多边形 (729)实例522 绘制圆形 (729)实例523 绘制扇形 (730)实例524 设置线条类型 (731)实例525 填充类型和填充颜色的设置 (732)实例526 图形文本的输出 (733)实例527 设置图形文本属性 (734)实例528 模拟两个小球动态碰撞 (735)实例529 飘带图案 (737)实例530 矩形区域的颜色填充 (738)实例531 设计立体窗口 (739)18.3 中断系统 (740)实例532 软中断的调用 (740)实例533 硬件中断 (742)实例534 在图形界面中调用鼠标 (743)实例535 DOS中多任务模拟 (746)。
(完整word版)C语言必背18个经典程序
![(完整word版)C语言必背18个经典程序](https://img.taocdn.com/s3/m/8ba163d6284ac850ad0242d8.png)
C语言必背18个经典程序1、/*输出9*9口诀。
共9行9列,i控制行,j控制列。
*/#include "stdio.h"main(){int i,j,result;for (i=1;i<10;i++){ for(j=1;j<10;j++){result=i*j;printf("%d*%d=%-3d",i,j,result);/*-3d表示左对齐,占3位*/}printf("\n");/*每一行后换行*/}system("pause");}2、/*古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?兔子的规律为数列1,1,2,3,5,8,13,21....*/main(){long f1,f2;int i;f1=f2=1;for(i=1;i<=20;i++){ printf("%12ld %12ld",f1,f2);if(i%2==0) printf("\n");/*控制输出,每行四个*/f1=f1+f2; /*前两个月加起来赋值给第三个月*/f2=f1+f2; /*前两个月加起来赋值给第三个月*/}}3、/*判断101-200之间有多少个素数,并输出所有素数及素数的个数。
程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。
*/#include "math.h"main(){int m,i,k,h=0,leap=1;printf("\n");for(m=101;m<=200;m++){ k=sqrt(m);for(i=2;i<=k;i++)if(m%i==0){leap=0;break;}if(leap) /*内循环结束后,leap依然为1,则m是素数*/{printf("%-4d",m);h++;if(h%10==0)printf("\n");}leap=1;}printf("\nThe total is %d",h);system("pause");}4、/*一个数如果恰好等于它的因子之和,这个数就称为“完数”。
c语言入门源代码
![c语言入门源代码](https://img.taocdn.com/s3/m/e0c224000166f5335a8102d276a20029bd64631b.png)
c语言入门源代码以下是C语言入门的源代码,用于初学者学习和参考: 1. Hello World程序#include <stdio.h>int main() {printf('Hello World!');return 0;}2. 输入输出程序#include <stdio.h>int main() {int num;printf('请输入一个整数:');scanf('%d', &num);printf('您输入的整数是:%d', num);return 0;}3. 判断奇偶数#include <stdio.h>int main() {int num;printf('请输入一个整数:');scanf('%d', &num);if(num % 2 == 0) {printf('%d是偶数', num);} else {printf('%d是奇数', num);}return 0;}4. 计算两个数的和#include <stdio.h>int main() {int num1, num2, sum;printf('请输入两个整数,以空格隔开:');scanf('%d %d', &num1, &num2);sum = num1 + num2;printf('%d和%d的和是:%d', num1, num2, sum); return 0;}5. 计算n的阶乘#include <stdio.h>int main() {int n, i, factorial = 1;printf('请输入一个整数:');scanf('%d', &n);for(i = 1; i <= n; i++) {factorial *= i;}printf('%d的阶乘是:%d', n, factorial);return 0;}以上代码只是C语言入门的一部分,还有很多其他程序可以学习和练习。
(完整word版)C语言源代码
![(完整word版)C语言源代码](https://img.taocdn.com/s3/m/fd4cde44102de2bd97058827.png)
剪刀石头布源代码#include<stdio.h>#include<stdlib.h>main(){int d,x;{printf(" 请输入:1 是剪刀,2 是石头,3是布");scanf("%d",&d);x=rand()%3;if(d==x)printf(" 双方平局");else if((d==1&&x==2)||(d==2&&x==3)||(d==3&&x==1)) printf("你赢了");elseprintf(" 电脑赢了");}}简单计算器#include<stdio.h>main(){int a,b,d=0;char c;while(d==0){printf(" 请开始计算,请输入需要运算的数字和运算法则,数字符号数字:"); scanf("%d%c%d",&a,&c,&b);switch(c){case'+': printf("%d+%d=%d\n",a,b,a+b); break;case'-':printf("%d-%d=%d\n",a,b,a-b); break;case'*':printf("%d*%d=%d\n",a,b,a*b);break;case'/':if(0==b)printf(" 除法被除数不能为零!\n") ; elseprintf("%d/%d=%d\n",a,b,a/b); break;}}}加油站加油问题#include<stdio.h>int main(){double a = 3.25, b = 3.00, c= 2.75;double d = 0.05, e = 0.10, m;int x,y,z;printf(" 请输入您要的加油量:");scanf("%d",&x);printf(”请输入您要的汽油种类,1-a型汽油售价3.25元/千克,2-b型汽油售价3.00元/千克, 3-c型汽油售价2.75元/千克:”);scanf("%d",&y);printf(" 请输入您要的服务类型,1-自己加服务优惠0.05,2-协助加服务优惠0.10:");scanf("%d",&z);switch(y){case 1:y = a;break;case 2:y = b;break;case 3:y = c;break;}if(z == 1)m = (1 - d) * y * x; else if(z == 2)m = (1 - e) * y * x;",m);printf(" 您需要支付:%f 元,谢谢惠顾,欢迎下次再来return 0;}猜数字游戏#include<stdio.h>#include<stdlib.h>int main(){int d=1,e=0;int a,b,t;printf (" 请输入1-10 以内的整数,\n ");while(d==1){printf(" 玩家的选择: ");scanf("%d",&a);do{if((a>=0)&&(a<11))break; else{printf(" 错误");scanf("%d",&a);}}while(e==0);b=rand()%10+1;printf("npc:%d",b);t=a-b;if(t==0)printf("\nRight!\n");else if(t<0)printf("\n Wrong ! 太小了\ n");else if(t>0)printf("\n Wrong ! 太大了\ n");}return 0;}万年历#include<stdio.h>#include<stdlib.h> void setmonth(int r);void main(void){int year,month,day,a,b,i,j,d,x,mon,k;do{printf(" --------------------------------------------------- \n");printf(" 查全年,输入1!\n");printf(" 查月份,输入2!\n");printf(" 查日期,输入3!\n"); printf(" 继续?输入4!\n");printf(" 退出,输入5!\n"); printf(" ----------------- \n");printf(" 请输入:");scanf("%d",&x);if(x==1){ month=12; printf(" 输入年份:"); scanf("%d",&year);} if(x==2){printf(" 输入年份:"); scanf("%d",&year); printf(" 输入月份:"); scanf("%d",&month);} if(x==3){printf(" 输入年份:"); scanf("%d",&year); printf(" 输入月份:"); scanf("%d",&mon);printf(" 输入日期:"); scanf("%d",&day); month=mon-1;}}if(x==5) exit(100); a=((year-1)*365+(year-1)/4-(year-1)/100+(year-1)/400)%7;for(i=1,d=0;i<=month;i++){ switch(i) { case 1: case 3: case 5: case 7: case 8: case 10: case 12:d=31;break;case 2:if(!(year%4)&&(year%100)||!(year%400)) d=29;elsed=28; break; case 4: case 6: case 9: case 11:d=30;} b=a%7; a+=d; if(x==1){printf("setmonth(i);**\n"); printf("========================================================\n"); printf(" 星期一 星期二 星期三 星期四 星期五 星期天 \n");for(j=1;j<=b;j++) printf("%8c",' '); for(j=1;j<=d;j++) {printf("%8d",j);if((j+b)%7==0) printf("\n");\n");printf( 星期六**\n");printf("========================================================\n");printf(" 星期一 星期二 星期三 星期四 星期五 星期天 \n");for(j=1;j<=b;j++)printf("%8c",' '); for(j=1;j<=d;j++) {printf("%8d",j); if((j+b)%7==0) printf("\n");}printf("\n");}if(x==3){a+=day; a%=7;printf (" 是否继续?输入 4继续,输入 5退出: ");scanf("%d",&k);while(k==4);printf(" }if(x==1)printf("\n");if(x==2)\n");setmonth(i-1);printf( 星期六switch(a){case 0:printf("%d.%d.%d case 1:printf("%d.%d.%d case 2:printf("%d.%d.%d case 3:printf("%d.%d.%d case 4:printf("%d.%d.%d case 5:printf("%d.%d.%d default:printf("%d.%d.%d } printf("\n");}星期一 !",year,mon,day);break;星期二 !",year,mon,day);break;星期三 !",year,mon,day);break;星期四 !",year,mon,day);break;星期五 !",year,mon,day);break;星期六 !",year,mon,day);break;星期天 !",year,mon,day);if(k==5)三 (- --=e H 川。
c语言初学必背代码
![c语言初学必背代码](https://img.taocdn.com/s3/m/48ead09f0d22590102020740be1e650e53eacf16.png)
c语言初学必背代码C 语言作为一门基础的编程语言,对于初学者来说,掌握一些关键的代码片段是非常重要的。
这些代码不仅能够帮助我们理解 C 语言的基本语法和编程思想,还能为后续更复杂的程序编写打下坚实的基础。
接下来,就让我们一起看看 C 语言初学必背的那些代码。
首先,是简单的“Hello World”程序。
这几乎是每一个学习编程语言的人所接触的第一个程序。
```cinclude <stdioh>int main(){printf("Hello World!\n");return 0;}```在这个程序中,`include <stdioh>`是预处理指令,用于包含标准输入输出头文件。
`int main()`是主函数,是 C 语言程序的入口点。
`printf`函数用于在屏幕上输出指定的文本。
`\n`是换行符,用于在输出文本后换行。
接下来,是变量的声明和使用。
```cinclude <stdioh>int main(){int num = 10; //声明并初始化一个整型变量float price = 999; //声明并初始化一个浮点型变量char letter ='A';//声明并初始化一个字符型变量printf("整数: %d\n", num);printf("浮点数: %f\n", price);printf("字符: %c\n", letter);return 0;}```在上述代码中,我们看到了不同数据类型变量的声明和初始化,以及如何使用`printf`函数输出这些变量的值。
再看条件判断语句,比如`ifelse`语句。
```cinclude <stdioh>int main(){int num = 5;if (num > 10) {printf("数字大于 10\n");} else {printf("数字小于或等于 10\n");}return 0;}```通过`ifelse`语句,我们可以根据不同的条件执行不同的代码块。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
循环控制输出图案【程序1】题目:输出9*9口诀。
1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。
2.程序源代码:#include "stdio.h"main(){int i,j,result;printf("\n");for (i=1;i<10;i++){ for(j=1;j<10;j++){result=i*j;printf("%d*%d=%-3d",i,j,result);/*-3d表示左对齐,占3位*/}printf("\n");/*每一行后换行*/}}【程序2】题目:要求输出国际象棋棋盘。
1.程序分析:用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格。
2.程序源代码:#include "stdio.h"{int i,j;for(i=0;i<8;i++){for(j=0;j<8;j++)if((i+j)%2==0)printf("%c%c",219,219);elseprintf(" ");printf("\n");}}============================================================== 【程序3】题目:打印楼梯,同时在楼梯上方打印两个笑脸。
1.程序分析:用i控制行,j来控制列,j根据i的变化来控制输出黑方格的个数。
2.程序源代码:#include "stdio.h"main(){int i,j;printf("\1\1\n");/*输出两个笑脸*/for(i=1;i<11;i++)for(j=1;j<=i;j++)printf("%c%c",219,219);printf("\n");}}【程序4】题目:打印出如下图案(菱形)****************************1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重for循环,第一层控制行,第二层控制列。
2.程序源代码:main(){int i,j,k;for(i=0;i<=3;i++){for(j=0;j<=2-i;j++)printf(" ");for(k=0;k<=2*i;k++)printf("*");printf("\n");}for(i=0;i<=2;i++){for(j=0;j<=i;j++)printf(" ");for(k=0;k<=4-2*i;k++)printf("*");printf("\n");}}【程序5】题目:打印出杨辉三角形(要求打印出10行如下图)1.程序分析:11 11 2 11 3 3 114 6 4 1151010 5 12.程序源代码:main(){int i,j;int a[10][10];printf("\n");for(i=0;i<10;i++){a[i][0]=1;a[i][i]=1;}for(i=2;i<10;i++)for(j=1;j a[i][j]=a[i-1][j-1]+a[i-1][j];for(i=0;i<10;i++){for(j=0;j<=i;j++)printf("%5d",a[i][j]);printf("\n");}}【程序1】if语句嵌套练习题目:企业发放的奖金根据利润提成。
利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。
注意定义时需把奖金定义成长整型。
2.程序源代码:main(){long int i;int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf("%ld",&i);bonus1=100000*0.1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i<=100000)bonus=i*0.1;else if(i<=200000)bonus=bonus1+(i-100000)*0.075;else if(i<=400000)bonus=bonus2+(i-200000)*0.05;else if(i<=600000)bonus=bonus4+(i-400000)*0.03;else if(i<=1000000)bonus=bonus6+(i-600000)*0.015;elsebonus=bonus10+(i-1000000)*0.01;printf("bonus=%d",bonus);}【程序2】if语句使用练习题目:输入三个整数x,y,z,请把这三个数由小到大输出。
1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y 的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。
2.程序源代码:main(){int x,y,z,t;scanf("%d%d%d",&x,&y,&z);if (x>y){t=x;x=y;y=t;} /*交换x,y的值*/if(x>z){t=z;z=x;x=t;}/*交换x,z的值*/if(y>z){t=y;y=z;z=t;}/*交换z,y的值*/printf("small to big: %d %d %d\n",x,y,z);}【程序3】switch多分支语句练习题目:输入某年某月某日,判断这一天是这一年的第几天?1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。
2.程序源代码:main(){int day,month,year,sum,leap;printf("\nplease input year,month,day\n");scanf("%d,%d,%d",&year,&month,&day);switch(month)/*先计算某月以前月份的总天数*/{case 1:sum=0;break;case 2:sum=31;break;case 3:sum=59;break;case 4:sum=90;break;case 5:sum=120;break;case 6:sum=151;break;case 7:sum=181;break;case 8:sum=212;break;case 9:sum=243;break;case 10:sum=273;break;case 11:sum=304;break;case 12:sum=334;break;default:printf("data error");break;}sum=sum+day; /*再加上某天的天数*/if(year%400==0||(year%4==0&&year%100!=0))/*判断是不是闰年*/ leap=1;elseleap=0;if(leap==1&&month>2)/*如果是闰年且月份大于2,总天数应该加一天*/ sum++;printf("It is the %dth day.",sum);}【程序2】题目:有一个已经排好序的数组。
现输入一个数,要求按原来的规律将它插入数组中。
1. 程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。
2.程序源代码:main(){int a[11]={1,4,6,9,13,16,19,28,40,100};int temp1,temp2,number,end,i,j;printf("original array is:\n");for(i=0;i<10;i++)printf("%5d",a[i]);printf("\n");printf("insert a new number:");scanf("%d",&number);end=a[9];if(number>end)a[10]=number;else{for(i=0;i<10;i++){ if(a[i]>number){temp1=a[i];a[i]=number;for(j=i+1;j<11;j++){temp2=a[j];a[j]=temp1;temp1=temp2;}break;}}}for(i=0;i<11;i++)printf("%6d",a[i]);}【程序3】题目:将一个数组逆序输出。
1.程序分析:用第一个与最后一个交换。
2.程序源代码:#define N 5main(){ int a[N]={9,6,5,4,1},i,temp;printf("\n original array:\n");for(i=0;i printf("%4d",a[i]);for(i=0;i{temp=a[i];a[i]=a[N-i-1];a[N-i-1]=temp;}printf("\n sorted array:\n");for(i=0;i printf("%4d",a[i]);}【程序1】题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。