c语言基本代码
c语言基本代码
'\0':是字符串的结束标志‘‘:空格auto:声明自动变量一般不使用double:声明双精度变量或函数和%lf连用,m=doublev-l/l100+0.5;这个式子加个double是将后面式子中非double类型强制转换类型为doublefloat:声明浮点型变量或函数和%f连用,单精度int:声明整型变量或函数与%d连用struct:声明结构体变量或函数long:声明长整型变量或函数switch:用于开关语句enum:声明枚举类型register:声明积存器变量typedef:用以给数据类型取别名当然还有其他作用extern:声明变量是在其他文件正声明也可以看做是引用变量return:子程序返回语句可以带参数,也看不带参数union:声明联合数据类型const:声明只读变量short:声明短整型变量或函数unsigned:声明无符号类型变量或函数signed:生命有符号类型变量或函数void:声明函数无返回值或无参数,声明无类型指针基本上就这三个作用default:开关语句中的“其他”分支goto:无条件跳转语句sizeof:计算数据类型长度,,是整型表达式用法 sizeof类型说明符,数组名或表达式;sizeof是获取类型占用的字节数,是整形的volatile:说明变量在程序执行中可被隐含地改变static:声明静态变量char:声明字符型变量或函数strcmp:strcmps1,s2比较字符串大小两个字符串自左向右逐个字符相比按ASCII值大小相比较,直到出现不同的字符或遇'\0'为止大于返回1小于返回-1等于返回0循环:for:一种循环语句可意会不可言传for表达式1;表达式2;表达式3while:循环语句的循环条件do:循环语句的循环体break:跳出当前循环continue:结束当前循环,开始下一轮循环判断:d=a>30 b:c:相当于if暨当a>30是d=b否则d=c;if:条件语句与elseifelse并用1、在C语言中一般认为“0”是假,其他不是“0”的都是真;2、if里面为真,则进入if下的大括弧{},为假,就跳过;以此题为例:若X是“0”为假;则里面为假,跳过if下的大{}若X不是“0”为真;则里面为真,进入if下的大{};case:开关语句分支,与switch表达式连用,case常量表达式;default冒号后面的语句,表示除去各种casei:情况外,其它情况均用default冒号后面的语句处理,即缺省case默认case的处理else:条件语句否定分支与if连用逻辑符号:&&:是逻辑与运算符,a&&b,一假必假,结合性从左至右||:是逻辑或运算符,a||b,一真必真,结合性从左至右计算:sqrtx:计算√xfabsx:计算x的绝对值powx,n:计算x的n次方expx:计算e的x次方运算符号:+:加-:减:乘/:除%:求余<:小于<=:小于等于>:大于>=:大于等于==:等于=:不等于Scanf“”:getchar:字符输入函数,只能读入一个字符,ch=getchar:读入一个字符并赋值给ch; putchar:字符输出函数,可以输出一个字符;gets:输入字符串;%c:格式对应的是单个字符;所以在输入多个字符的时候,它只会读取第一个字符,之后的字符是无法读入完成任务的,那么也就是说,只进行一次读取工作的C函数表达方式;%s:格式对应的是字符串;S通常表示复数,也是多个的意思,那么在字符中表示字符串;%d:整数;Printf“”:%md:指定数据输出宽度为m;若不足m左端补空格;若大于m实际位输出;%f:指定以小数形式输出浮点型数据保留6位小数;%.2f:则指定输出时保留两位小数;C语言strlen函数:返回字符串的长度头文件:include<string.h>。
C语言程序设计 入门源代码代码集合【精选文档】
#include 〈stdio.h〉void print_star(void){printf("*****************\n"); }void print_welcome(void){printf(”C language,welcome!\n");}void main(){print_star();print_welcome();print_star();getchar();}演示2#include "stdio。
h"int sum(int i,int j){return(i + j);}void main(){int n1,n2;printf("input 2 numbers:\n”);scanf("%d%d”,&n1,&n2);printf("the sum = %d\n",sum(n1,n2));getchar();}演示3#include "stdio。
h"int maxnum(int,int,int);main(){int a,b,c;printf("Please enter 3 numbers:\n");scanf(”%d,%d,%d”,&a,&b,&c);printf(”Maxnum is %d\n",maxnum(a,b,c));}int maxnum(int x,int y,int z){int max=x;if(y>max)max = y;if(z>max)max = z;return max;}演示4#include 〈stdio。
h〉int s1(int n){int j,s;s=0;for(j=1;j<=n;j++)s=s+j;return s;}int sum(int n){int i,s=0;for(i=1;i<=n;i++)s=s+s1(i);return s;}void main(){int n;printf(”n:”);scanf(”%d",&n);printf("s=%d\n”,sum(n));}演示5#include <stdio.h〉void func(int n){int i;for(i=n-1;i〉=1;i--)n=n+i;printf("n=%d\n",n);}void main(){int n;printf("Input n:");scanf("%d”,&n);func(n);printf(”n=%d\n",n);}演示6#include <stdio。
(完整版)c语言初学必背代码
//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条案例)下面是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语言代码大全
摘自宋鲁生程序设计大赛乘法口诀表#include <stdio.h>#include <conio.h>void main(void){int i,j,x,y;clrscr();printf("\n\n * * * 乘法口诀表* * * \n\n");x=9;y=5;for(i=1;i<=9;i++){gotoxy(x,y);printf("%2d ",i);x+=3;}x=7;y=6;for(i=1;i<=9;i++){gotoxy(x,y);printf("%2d ",i);y++;}x=9;y= 6;for(i=1;i<=9;i++){for(j=1;j<=9;j++){gotoxy(x,y);printf("%2d ",i*j);y++;}y-=9;x+=3;}printf("\n\n");}用一维数组统计学生成绩#include <stdio.h>void main(){char SelectKey,CreditMoney,DebitMoney;while(1){do{clrscr();puts("=========================");puts("| Please select key: |");puts("| 1. Quary |");puts("| 2. Credit |");puts("| 3. Debit |");puts("| 4. Return |");puts("=========================");SelectKey = getch();}while( SelectKey!='1' && SelectKey!='2' && SelectKey!='3' &&SelectKey!='4' );switch(SelectKey){case '1':clrscr();puts("================================");puts("| Your balance is $1000. |");puts("| Press any key to return... |");puts("================================");getch();break;case '2':do{clrscr();puts("==================================");puts("| Please select Credit money: |");puts("| 1. $50 |");puts("| 2. $100 |");puts("| 3. Return |");puts("==================================");CreditMoney = getch();}while( CreditMoney!='1' && CreditMoney!='2' && CreditMoney!='3' );switch(CreditMoney){}break; case '3':do{ case '1':clrscr();puts("=========================================");puts("| Your Credit money is $50,Thank you! |");puts("| Press any key to return... |");puts("=========================================");getch();break;case '2':clrscr();puts("==========================================");puts("| Your Credit money is $100,Thank you! |");puts("| Press any key to return... |");puts("==========================================");getch();break;case '3':break;clrscr();puts("====================================");puts("| Please select Debit money: |");puts("| 1. $50 |");puts("| 2. $100 |");puts("| 3. $500 |");puts("| 4. $1000 |");puts("| 5. Return |");puts("====================================");DebitMoney = getch();}while( DebitMoney!='1' && DebitMoney!='2' && DebitMoney!='3' &&DebitMoney!='4' && DebitMoney!='5' );switch(DebitMoney){case '1':clrscr();puts("===========================================");puts("| Your Debit money is $50,Thank you! |");puts("| Press any key to return... |");puts("===========================================");getch();break;case '2':clrscr();puts("===========================================");puts("| Your Debit money is $100,Thank you! |");puts("| Press any key to return... |");puts("===========================================");getch();break;case '3':clrscr();puts("===========================================");puts("| Your Debit money is $500,Thank you! |");puts("| Press any key to return... |");puts("===========================================");getch();break;case '4':clrscr();puts("===========================================");puts("| Your Debit money is $1000,Thank you! |");puts("| Press any key to return... |");puts("===========================================");getch();break;case '5':break;}break;case '4':clrscr();puts("================================");puts("| Thank you for your using! |");puts("| Good bye! |");puts("================================");return;}}模拟ATM(自动柜员机)界面#include <stdio.h> void main(){int Password=0,Number=0,price=58,i=0;while( Password != 1234 ){if( i >= 3 )return;}i=0; i++;puts("Please input Password: "); scanf("%d",&Password);while( Number!=price ){do{puts("Please input a number between 1 and 100: ");scanf("%d",&Number);printf("Your input number is %d\n",Number);}while( !(Number>=1 && Number<=100) );if( Number >= 90 ){printf("Too Bigger! Press any key to try again!\n");}else if( Number >= 70 && Number < 90 ){printf("Bigger!\n");}else if( Number >= 1 && Number <= 30 ){printf("Too Small! Press any key to try again!\n");}else if( Number > 30 && Number <= 50 ){}else{printf("Small! Press any key to try again!\n");if( Number == price ){printf("OK! You are right! Bye Bye!\n");}else if( Number < price ){printf("Sorry,Only a little smaller! Press any key to try again!\n");}else if( Number > price ){printf(" Sorry, Only a little bigger! Press any key to try again!\n");}getch();}}用二维数组实现矩阵转置/* 用二维数组实现矩阵的转置*/#include <stdio.h>#define ROW 3#define COL 4main(){int matrixA[ROW][COL],matrixB[COL][ROW];int i,j; clrscr();printf("Enter elements of the matrixA,");printf("%d*%d:\n",ROW,COL);for( i=0; i<ROW; i++ ){for( j=0; j<COL; j++ ){scanf("%d",&matrixA[i][j]);}}for( i=0; i<ROW; i++ ){for( j=0; j<COL; j++ ){matrixB[j][i] = matrixA[i][j];}}printf("MatrixB,");printf("%d*%d:\n",COL,ROW);for( i=0; i<COL; i++ ){for( j=0; j<ROW; j++ ){printf("%8d",matrixB[i][j]);}printf("\n");}printf("\n Press Any Key to Quit... \n");getch();}求解二维数组的最大/最小元素#define MAXN 20int a[MAXN][MAXN];main(){int min, /* 存储最小值*/max; /* 存储最大值*/int row,col,n;clrscr();printf("Please input the order of the matrix:\n");/* 输入方阵的阶次*/ scanf("%d",&n);printf("Please input the elements of the matrix,\n from a[0][0] to a[%d][%d]:\n",n-1,n-1);for(row=0;row<n;row++)for(col=0;col<n;col++)scanf("%d",&a[row][col]);for(min=a[0][0],row=0;row<n;row++){/* 从每行选出最大数*/for(max=a[row][0],col=1;col<n;col++)/*从row 行选出最大数*/if(max<a[row][col])max=a[row][col];if(min>max)/* 保存至row 行的最小数*/min=max;}printf("The minimum of maximum number is %d\n",min);for(max=a[0][0],row=0;row<n;row++){/* 每行选出最小数*/for(min=a[row][0],col=1;col<n;col++)/* 从row 行选出最小数*/ if(min>a[row][col])min=a[row][col];if(max<min)/*保存至row 行的最大数*/max=min;}printf("The maximum of minimum numbers is %d\n",max);printf("\nPress any key to quit...\n");getch();}利用数组求前n 个质数#define N 50main(){int primes[N];int pc,m,k; clrscr();printf("\n The first %d prime numbers are:\n",N);primes[0]=2;/*2 是第一个质数*/pc =1;/*已有第一个质数*/m =3;/*被测试的数从3 开始*/while(pc<N){/*调整m 使它为下一个质数*/k=0;while(primes[k]*primes[k]<=m)if(m%primes[k]==0){/*m 是合数*/m+=2;/*让m 取下一个奇数*/k=1;/*不必用primes[0]=2 去测试m,所以k 从一开始*/}elsek++;/*继续用下一个质数去测试*/primes[pc++]=m;m+=2;/*除2 外,其余质数均是奇数*/}/*输出primes[0]至primes[pc-1]*/for(k=0;k<pc;k++)printf("%4d",primes[k]);printf("\n\n Press any key to quit...\n ");getch();}编制万年历#include "stdio.h"long int f(int year,int month){/*f(年,月)=年-1,如月<3;否则,f(年,月)=年*/if(month<3) return year-1;else return year;} long int g(int month){/*g(月)=月+13,如月<3;否则,g(月)=月+1*/if(month<3) return month+13;else return month+1;} long int n(int year,int month,int day){/*N=1461*f(年、月)/4+153*g(月)/5+日*/return 1461L*f(year,month)/4+153L*g(month)/5+day;} int w(int year,int month,int day){/*w=(N-621049)%7(0<=w<7)*/return(int)((n(year,month,day)%7-621049L%7+7)%7);} int date[12][6][7];int day_tbl[ ][12]={{31,28,31,30,31,30,31,31,30,31,30,31},{31,29,31,30,31,30,31,31,30,31,30,31}};main(){int sw,leap,i,j,k,wd,day;int year;/*年*/char title[]="SUN MON TUE WED THU FRI SAT";clrscr();printf("Please input the year whose calendar you want to know: ");/*输入年*/scanf("%d%*c",&year);/*输入年份值和掠过值后的回车*/sw=w(year,1,1);leap=year%4==0&&year%100||year%400==0;/*判闰年*/for(i=0;i<12;i++)for(j=0;j<6;j++)for(k=0;k<7;k++)date[i][j][k]=0;/*日期表置0*/for(i=0;i<12;i++)/*一年十二个月*/for(wd=0,day=1;day<=day_tbl[leap][i];day++){/*将第i+1 月的日期填入日期表*/date[i][wd][sw]=day;sw=++sw%7;/*每星期七天,以0 至6 计数*/if(sw==0) wd++;/*日期表每七天一行,星期天开始新的一行*/} printf("\n|==================The Calendar of Year %d=====================|\n|",year);for(i=0;i<6;i++){/*先测算第i+1 月和第i+7 月的最大星期数*/for(wd=0,k=0;k<7;k++)/*日期表的第六行有日期,则wd!=0*/wd+=date[i][5][k]+date[i+6][5][k];wd=wd?6:5;printf("%2d %s %2d %s |\n|",i+1,title,i+7,title);for(j=0;j<wd;j++){printf(" ");/*输出四个空白符*//*左栏为第i+1 月,右栏为第i+7 月*/for(k=0;k<7;k++)if(date[i][j][k])printf("%4d",date[i][j][k]);else printf(" ");printf(" ");/*输出十个空白符*/for(k=0;k<7;k++)if(date[i+6][j][k])printf("%4d",date[i+6][j][k]);else printf(" ");printf(" |\n|");}/*scanf("%*c");/*键入回车输出下一个月的日历*/}puts("=================================================================|") ;puts("\n Press any key to quit...");getch();}对数组元素排序rest(int a[], int n){int i,low,high,t; for(i=0,low=0,high=n-1;i<=high;) {if(a[i]>0){/*a[i]与a[high]交换,随之high 减1*/t=a[i];a[i]=a[high];a[high]=t;high--;}else if(a[i]==0)i++; /* 掠过该元素*/else{/*a[i]与a[low]交换,随之low 增1, i 增1*/t=a[i];a[i]=a[low];a[low]=t;low++; i++;}}}int s[]={8,4,0,-1,6,0,-5};main(){int i;clrscr();printf("\n The arry before rest is:\n");for(i=0;i<sizeof(s)/sizeof(s[0]);i++)printf("%4d",s[i]);rest(s,sizeof(s)/sizeof(s[0]));printf("\n The arry after rest is:\n");for(i=0;i<sizeof(s)/sizeof(s[0]);i++)printf("%4d",s[i]);printf("\n Press any key to quit...\n");getch();}任意进制数的转换/* 函数trans 将无符号整数n 翻译成d(2<=d<=16)进制表示的字符串s */ #define M sizeof(unsigned int)*8int trans(unsigned n, int d, char s[]){static char digits[] ="0123456789ABCDEF"; /* 十六进制数字的字符*/char buf[M+1];int j, i = M;if(d<2||d>16){s[0]='\0'; /* 不合理的进制,置s 为空字符串*/return 0; /* 不合理的进制,函数返回0 */}buf[i]='\0';do{buf[--i]=digits[n%d]; /*译出最低位,对应字符存入对应工作数组中*/n/=d;}while(n);/* 将译出在工作数组中的字符串复制到s */for(j=0;(s[j]=buf[i])!='\0';j++,i++);/* 其中控制条件可简写成s[j]=buf[i] */return j;}/* 主函数用于测试函数trans() */main(){unsigned int num = 253;int scale[]={2,3,10,16,1};char str[33];int i;clrscr();for(i=0;i<sizeof(scale)/sizeof(scale[0]);i++){if(trans(num,scale[i],str))printf("%5d = %s(%d)\n",num,str,scale[i]);elseprintf("%5d => (%d) Error! \n",num,scale[i]);}printf("\n Press any key to quit...\n");getch();}判断回文数/* 函数circle 用于判断正整数n 的d 进制数表示形式是否是回文数*/ int circle(int n, int d){int s=0,m=n;while(m){s=s*d+m%d;m/=d;}return s==n;}/* main 函数用于测试circle 函数*/int num[]={232,27,851};int scale[]={2,10,16};main(){int i,j;clrscr();for(i=0;i<sizeof(num)/sizeof(num[0]);i++)for(j=0;j<sizeof(scale)/sizeof(scale[0]);j++)if(circle(num[i],scale[j]))printf("%d -> (%d) is a Circle Number!\n",num[i],scale[j]);elseprintf("%d -> (%d) is not a Circle Number!\n",num[i],scale[j]);printf("\n Press any key to quit...\n");getch();}求解钢材切割的最佳订单#include <stdio.h>#define N 20#define DELTA 2int bestlen;int bestsele[N];int sele[N];int n;int orderlen[N];int total;main(){int i;clrscr();printf("\n Please enter total length of the steel:\n");/* 输入钢材总长*/scanf("%d",&total);printf("\n Please enter number of order:\n"); /* 输入定单数*/ scanf("%d",&n);printf("\n Please enter the orders:\n"); /* 输入各定单*/for(i=0;i<n;i++)scanf("%d",&orderlen[i]);bestlen=0; /*最佳解用料的初值*/for(i=0;i<n;i++)sele[i]=bestsele[i]=0; /*置当前选择和最佳选择初值*/try(); /* 调用函数求解*/for(i=0;i<n;i++) /* 输出结果*/if(bestsele[i])printf("order %d length = %d\n",i+1,orderlen[i]);printf("\n Press any key to quit...");getch();}try(){int i,len;for(len=i=0;i<n;i++) /* 求当前选中的用料量*/if(sele[i])len+=orderlen[i]+DELTA;if(len-DELTA<=total) /* 注意最后一段可能不需要切割*/{if(bestlen < len){/* 找到一个更好的解*/bestlen = len;for(i=0;i<n;i++)bestsele[i]=sele[i];}for(i=0;i<n;i++) /* 对所有未选定单逐一作选中尝试循环*/if(!sele[i]){sele[i]=1; /* 做选中尝试*/try();sele[i]=0;}}}指向数组的指针main(){int x,y,z; /* 定义三个int 型变量*/int *xp = &x, /* 定义指针变量xp,并赋值为x 的地址,使xp 指向x */ *yp = &y, /* 定义指针变量yp,并赋值为y 的地址,使yp 指向y */ *zp = &z; /* 定义指针变量zp,并赋值为z 的地址,使zp 指向z */int t;printf("\nPlease input x,y,z:\n");scanf("%d%d%d",xp,yp,zp); /* 通过变量的指针,为变量输入值*/if(*xp>*yp) /* 通过指向变量的指针引用变量的值*/{t=*xp; /* 通过指向变量的指针引用变量的值*/*xp=*yp;/* 通过指向变量x 的指针xp,引用变量x 的值*/*yp=t; /* 通过指向变量y 的指针yp,引用变量y 的值*/}if(*xp>*zp) /* 通过指向变量的指针,引用变量的值*/{t=*xp; /* 通过指向变量x 的指针xp,引用变量x 的值*/*xp=*zp;/* 通过指向变量x 的指针xp,引用变量x 的值*/*zp=t; /* 通过指向变量z 的指针zp,引用变量z 的值*/}if(*yp>*zp) /* 通过指向变量的指针,引用变量的值*/{t=*yp; /* 通过指向变量的指针,引用变量的值*/*yp=*zp;/* 通过指向变量y 的指针yp,引用变量y 的值*/*zp=t;/* 通过指向变量z 的指针zp,引用变量z 的值*/}printf("x = %d\ty = %d\tz = %d\n",x,y,z);printf("\nPress any key to quit...\n");getch();}阿拉伯数字转换为罗马数字#include <stdio.h>#define ROWS 4#define COLS 4int nums[ROWS][COLS]={{1000,1000,1000,1000},{900,500,400,100},{90,50,40,10},{9,5,4,1}};char *roms[ROWS][COLS]={{"m","m","m","m"}, {"cm","d","cd","c"},{"xc","l","xl","x"},{"ix","v","iv","i"}}; main(int argc,char *argv[ ]){int low,high;char roman[25]; if(argc<2){ printf("Usage:roman decimal_number\n");/*运行程序需带整数参数*/}high=low=atoi(argv[1]);/*将第一个参数转换成整数*/checknum(low);if(argc>2){/*带两个参数*/high=atoi(argv[2]);checknum(high);if(low>high){low=high;high=atoi(argv[1]);}}elselow=1;for(;low<=high;low++){to_roman(low,roman);printf("%d\t%s\n",low,roman);}} checknum(int val)/*检查参数合理性*/{if(val<1||val>9999){printf("The number must be in range 1..9999.\n");exit(0);}}to_roman(int decimal,char roman[ ])/*将整数转换成罗马数字表示*/ {int power,index;roman[0]='\0';for(power=0;power<ROWS;power++)for(index=0;index<COLS;index++)while(decimal>=nums[power][index]){strcat(roman,roms[power][index]);decimal-=nums[power][index];}}通讯录的输入输出#include <stdio.h>#define ZIPLEN 10#define PHONLEN 15/*struct addr 类型定义*/ struct addr{char *name;/*姓名*/char *address;/*地址*/char zip[ZIPLEN];/*邮政编码*/char phone[PHONLEN];/*电话号码*/}; main()/*本主函数示意上述输入输出函数的用法*/{struct addr p[100];int i,j;clrscr();for(i=0;readaddr(p+i);i++);for(j=0;j<i;j++) writeaddr(p+j);puts("\n Press any key to quit...");getch();} /* 函数readaddr 用于输入一个通信录函数*/int readaddr(struct addr *dpt){int len;char buf[120];/*输入字符串的缓冲区*/ printf("\nPlease input theName:\n");/*输入姓名*/if(scanf("%s",buf)==1){len=strlen(buf);dpt->name=(char *)malloc(len+1);/*申请存贮姓名的空间*/ strcpy(dpt->name,buf);}else return 0;/*Ctrl+Z 结束输入*/printf("Please input the Address:\n");/*输入地址*/if(scanf("%s",buf)==1){len=strlen(buf);dpt->address=(char *)malloc(len+1);/*申请存贮地址的空间*/ strcpy(dpt->address,buf);}else{/*Ctrl+Z 结束输入*/free(dpt->name);/*释放存贮姓名的空间*/return 0;}printf("Please input the Zip code:\n");/*输入邮编*/if(scanf("%s",buf)==1)strncpy(dpt->zip,buf,ZIPLEN-1);else{free(dpt->name);/*释放存贮姓名的空间*/free(dpt->address);/*释放存贮地址的空间*/return 0;/*Ctrl+Z 结束输入*/}printf("Please input the Phone number:\n");/*输入电话号码*/ if(scanf("%s",buf)==1)strncpy(dpt->phone,buf,PHONLEN-1);else{free(dpt->name);free(dpt->address);return 0;/*Ctrl+Z 结束输入*/}return 1;} /* 函数writeaddr 用于输出通讯录*/int writeaddr(struct addr*dpt){printf("Name : %s\n", dpt->name);/* 输出姓名*/printf("Address : %s\n", dpt->address);/*输出地址*/printf("Zip : %s\n", dpt->zip);/* 输出邮编*/printf("Phone : %s\n\n", dpt->phone);/*输出电话号码*/}扑克牌的结构表示enum suits{CLUBS,DIAMONDS,HEARTS,SPADES}; struct card{enum suits suit;char value[3];};struct card deck[52];char cardval[][3]= {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};char suitsname[][9]={"CLUBS","DIAMONDS","HEARTS","SPADES"}; main() {int i,j;enum suits s;clrscr();for(i=0;i<=12;i++)for(s=CLUBS;s<=SPADES;s++){j=i*4+s;deck[j].suit=s;strcpy(deck[j].value,cardval[i]);}for(j=0;j<52;j++)printf("(%s%3s)%c",suitsname[deck[j].suit],deck[j].value,j%4==3?'\n':'\t');puts("\nPress any key to quit...");getch();}用“结构”统计学生成绩#include <stdio.h>#define N 200#define SCORES 5#define NUMLEN 10struct std_type{char no[NUMLEN];/*学号*/char *name;/*名字符串指针*/int scores[SCORES];/*五门功课的成绩*/};struct std_type students[N];int order[N];int total[N]; /*[函数]输入一个学生信息函数*/int readastu(struct std_type *spt){int len,j;char buf[120];/*输入字符串的缓冲区*/ printf("\nNumber : ");/*输入学号*/if(scanf("%s",buf)==1)strncpy(spt->no,buf,NUMLEN-1);elsereturn 0;/*Ctrl+Z 结束输入*/printf("Name : ");/*输入姓名*/if(scanf("%s",buf)==1){len=strlen(buf);spt->name=(char *)malloc(len+1);/*申请存贮姓名的空间*/ strcpy(spt->name,buf);}else return 0;/*Ctrl+Z 结束输入*/printf("Scores : ");/*输入成绩*/for(j=0;j<SCORES;j++)if(scanf("%d",spt->scores+j)!=1)break;if(j==0)/*一个成绩也未输入*/{free(spt->name);/*释放存贮姓名的空间*/return 0;}for(;j<SCORES;j++)/*少数未输入的成绩用0 分代之*/ spt->scores[j]=0;return 1;} /*[函数]输出一个学生信息的函数*/int writeastu(struct std_type *spt){int i; printf("Number : %s\n",spt->no);/*输出学号*/printf("Name : %s\n",spt->name);/*输出姓名*/printf("Scores : ");/* 输出成绩*/for(i=0;i<SCORES;i++)printf("%4d",spt->scores[i]);printf("\n\n");} main(){int n,i,j,t; clrscr();for(n=0;readastu(students+n);n++);/*采用冒泡法对学生信息数组排序*/for(i=0;i<n;i++){order[i]=i;/* 预置第i 个输入的学生*/for(t=0,j=0;j<SCORES;j++)/*求第i 个学生的总分*/t+=students[i].scores[j];total[i]=t;}/*冒泡排序*/for(i=0;i<n-1;i++)/*共扫视n-1 遍*/for(j=0;j<n-1-i;j++)if(total[order[j]]<total[order[j+1]]){/*交换名次*/t=order[j];order[j]=order[j+1];order[j+1]=t;}for(j=0;j<n;j++)/* 输出*/writeastu(students+order[j]);printf("\n Press any key to quit...\n");getch();}报数游戏#include <stdio.h>struct ele{int no;struct ele *link;}main(){int n,m,i;struct ele *h,*u,*p;clrscr();printf("Please input n&m:\n");scanf("%d%d",&n,&m);/*输入n 和m*/h=u=(struct ele *)malloc(sizeof(struct ele));/*形成首表元*/ h->no=1;for(i=2;i<=n;i++)/*形成其余的n-1 个表元*/{u->link=(struct ele *)malloc(sizeof(struct ele));u=u->link;u->no=i;/*第i 个表元置编号i*/}u->link=h;/*末表元后继首表元,形成环*/puts("\nThe numbers of who will quit the cycle in turn are:"); while(n){for(i=1;i<m;i++)/*掠过m-1 个表元*/u=u->link;p=u->link;/*p 指向第m 个表元*/u->link=p->link;/*第m 个表元从环中脱钩*/printf("%4d",p->no);free(p);/*释放第m 个表元占用的空间*/n--;}printf("\n\n Press any key to quit...\n");getch();}学生成绩管理程序/*学生成绩管理程序编制一个统计学生考试分数的管理程序。
c语言基础代码
c语言基础代码C语言基础代码引言:C语言是一种通用的、面向过程的编程语言,具有高效性和灵活性,被广泛应用于开发操作系统、嵌入式系统和各种应用程序。
了解C语言的基础代码对于学习和理解程序设计非常重要。
本文将介绍C语言的基础代码,包括变量和数据类型、运算符、控制语句和函数等内容。
一、变量和数据类型在C语言中,变量是用来存储数据的容器,而数据类型则决定了变量可以存储的数据的范围和格式。
C语言提供了几种基本的数据类型,包括整型、浮点型、字符型和指针型等。
下面是一些基本的变量声明和初始化的代码示例:1. 整型变量声明和初始化:```cint num1; // 声明一个整型变量int num2 = 10; // 声明并初始化一个整型变量,赋值为10```2. 浮点型变量声明和初始化:```cfloat pi = 3.14; // 声明并初始化一个浮点型变量,赋值为3.14double e = 2.71828; // 声明并初始化一个双精度浮点型变量,赋值为2.71828```3. 字符型变量声明和初始化:```cchar ch = 'A'; // 声明并初始化一个字符型变量,赋值为'A'```4. 指针变量声明和初始化:```cint *ptr = NULL; // 声明并初始化一个指向整型变量的指针变量,赋值为NULL(空指针)```二、运算符C语言提供了多种运算符,用于进行算术运算、逻辑运算、比较运算等。
下面是一些常见的运算符的代码示例:1. 算术运算符:```cint num1 = 10, num2 = 5;int sum = num1 + num2; // 加法运算,sum的值为15int diff = num1 - num2; // 减法运算,diff的值为5int product = num1 * num2; // 乘法运算,product的值为50float quotient = (float)num1 / num2; // 除法运算,quotient的值为2.0int remainder = num1 % num2; // 取余运算,remainder的值为0```2. 关系运算符:```cint num1 = 10, num2 = 5;int result1 = num1 > num2; // 大于运算,result1的值为1(真)int result2 = num1 < num2; // 小于运算,result2的值为0(假)int result3 = num1 == num2; // 等于运算,result3的值为0(假)int result4 = num1 != num2; // 不等于运算,result4的值为1(真)```3. 逻辑运算符:```cint num1 = 10, num2 = 5;int result1 = (num1 > num2) && (num1 != num2); // 与运算,result1的值为1(真)int result2 = (num1 < num2) || (num1 != num2); // 或运算,result2的值为1(真)int result3 = !(num1 < num2); // 非运算,result3的值为1(真)```三、控制语句控制语句用于实现程序的流程控制,包括条件语句(if-else语句)和循环语句(for循环、while循环和do-while循环)。
C语言基础训练代码(10条)
C语言基础训练代码(10条)1. 输入两个整数,输出它们的和。
#include <stdio.h>int main() {int a, b, sum;scanf("%d%d", &a, &b);sum = a + b;printf("%d + %d = %d\n", a, b, sum);return 0;}2. 计算一个整数的阶乘。
#include <stdio.h>int main() {int n, i;long long fact = 1;scanf("%d", &n);for (i = 1; i <= n; ++i) {fact *= i;}printf("%d! = %lld\n", n, fact);return 0;}3. 输入三角形三边的长度,判断是否为直角三角形。
#include <stdio.h>int main() {double a, b, c;scanf("%lf%lf%lf", &a, &b, &c);if ((a*a + b*b == c*c) || (a*a + c*c == b*b) || (b*b + c*c == a*a))printf("是直角三角形\n");elseprintf("不是直角三角形\n");return 0;}4. 输入一个字符,判断它是否为大写字母。
#include <stdio.h>int main() {char ch;scanf("%c", &ch);if (ch >= 'A' && ch <= 'Z')printf("%c是大写字母\n", ch);elseprintf("%c不是大写字母\n", ch);return 0;}5. 输入一个整数,判断它是否为素数。
C语言,简单计算机代码
{
case 1:
ret = jia(x, y);
printf("%d+%d = %d\n",x,y,ret);
break;
case 2:
ret = jian(x, y);
printf("%d-%d = %d\n",x,y,ret);
break;
case 3:
ret = cheng(x, y);
}
int cheng(int a, int b) //乘
{
return a * b;
}
int chu(int a, int b) //除
{
return a / b;
}
void menu()
{
printf(" @@@ 菜单 @@@\n");
printf("***** 1.加减 2.十进制转换 3.三角函数 *****\n");
printf("%0.5f",a);
break;
case 6:
a=atan(n*p/180); //角度转化为弧度
printf("%0.5f",a);
break;
}
}
system("pause");//暂停函数
system("cls");//清屏函数
}
}
{
printf("输入度数");
scanf("%d", &n);
}Hale Waihona Puke elseprintf("输入错误");
switch (input)
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 age = 25; //定义一个整数类型的变量 age 并初始化为 25float height = 175; //定义一个浮点数类型的变量 height 并初始化为 175char gender ='M';//定义一个字符类型的变量 gender 并初始化为'M'printf("年龄:%d\n", age);printf("身高:%f\n", height);printf("性别:%c\n", gender);return 0;}```在这个例子中,我们定义了整数类型`int`、浮点数类型`float`和字符类型`char`的变量,并使用`printf()`函数以不同的格式输出它们的值。
条件语句也是 C 语言中常用的结构之一。
比如下面的判断年龄是否成年的示例:```cinclude <stdioh>int main(){int age;printf("请输入您的年龄:");scanf("%d",&age);//从用户输入获取年龄if (age >= 18) {printf("您已成年\n");} else {printf("您未成年\n");}return 0;}```这里使用了`ifelse`语句来根据输入的年龄进行判断,并输出相应的结果。
C语言学习入门基础代码
C语⾔学习⼊门基础代码1 #include <stdio.h>2int main()3 {4float a,b,s;5 a=1.0/2;6 b=1.0/3;7 s=a+b;8 printf("s=%f\n",s );9return0;10 }1112131415/*计算两位数整数各位数字之和*/16 #include <stdio.h>17 #include <math.h>18int main()19 {20int twoNum;21 printf("请输⼊⼀位两位整数:\n");22 scanf("%d",&twoNum);2324int shiwei=twoNum/10;25int gewei=twoNum%10;26 printf("%d的个位与⼗位相加的和为:%d",twoNum,shiwei+gewei);27 printf("\n");28return0;2930 }31323334/*计算三位数整数各位数字之和*/35 #include <stdio.h>36 #include <math.h>37int main()38 {39int threeNum; //定义⼀个整型变量threeNum40 printf("请输⼊⼀位三位整数:\n");41 scanf("%d",&threeNum); //通过scanf()函数,从键盘输⼊⼀个三位数给threeNum4243int baiwei=threeNum/100; //定义⼀个整型变量baiwei,并将threeNum/100的值赋给baiwei,因为int型为整数,所以threeNum/100的值为整数(不是四舍五⼊,直接取整数值) 4445//定义⼀个整型变量shiwei,并⽤两种不同的⽅法给shiwei赋值46//int shiwei=(threeNum-baiwei*100)/10;47int shiwei=threeNum%100/10;4849int gewei=threeNum%10; //定义⼀个整型变量gewei,并将threeNum%10的值赋给gewei50 printf("%d的各位数相加的和为:%d",threeNum,baiwei+shiwei+gewei); //输出threeNum这个三位数各位数相加的和51 printf("\n");52return0;5354 }555657585960/*求n以内的偶数之和*/61 #include<stdio.h>62int main()63 {64int he,num;65 he=0;66 printf("请输⼊⼀个数:\n");67 scanf("%d",&num);68for(int i=1;i<num;i++)69 {70if(i%2==0)71 he+=i;72 }73 printf("该数以内的偶数之和为:%d\n",he);74return0;7576 }77787980818283//闰年的判断⽅法:普通年能被4整除且不能被100整除的为闰年,世纪年能被400整除的是闰年84/*求闰年的算法*/85 #include<stdio.h>86int main()87 {88int year;89 printf("请输⼊年份:\n");90 scanf("%d",&year);9192//!=为数学中的不等于;==为数学中的等于93if((year%4==0&&year%100!=0)||year%400==0)94 printf("%d年是闰年\n",year);95else96 printf("%d年不是闰年\n",year);97return0;9899 }100101102103104105/*求三个数的最⼤值*/106 #include <stdio.h>107int main()108109 {110int a,b,c; //定义三个整型变量111 printf("请输⼊三个数\n");112 scanf("%d%d%d",&a,&b,&c); //从键盘输⼊三个数,分别赋给a、b、c113114int max=a; //假设a为最⼤值115116if(max<b) //如果max(a)的值⼩于b,则将b的值赋给max;如果max(a)的值⼤于或等于b,则跳过,直接进⾏下⼀个执⾏语句117 max=b;118119if(max<c) //如果max的值⼩于c,则将c的值赋给max;如果max的值⼤于或等于c,则跳过,直接进⾏下⼀个执⾏语句120 max=c;121 printf("该三个数的最⼤值为:%d\n",max);122return0;123 }124125126127128。
初学者必会的c语言必背代码
初学者必会的c语言必背代码1、c语言必背100代码,C语言代码大全第一个------乘法表。
用C语言输出9*9成法口诀。
共9行9列,i控制行,j控制列。
2、c语言必背100代码之4×4数组下面程序的功能是将一个4×4的数组进行逆时针旋转90度后输出,要求原始数组的数据随机输入,新数组以4行4列的方式输出,请在空白处完善程序。
3、c语言必背100代码,C语言必背100代码。
古典问题有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?兔子的规律为数列1,1,2,3,5,8,13,21…4、c语言必背100代码素数判断101-200之间有多少个素数,并输出所有素数及素数的个数。
程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。
5、c语言必背100代码完数相关代码一个数如果恰好等于它的因子之和,这个数就称为“完数”。
例如6=1+2+3.编程找出1000以内的所有完数。
6、c语言必背100代码三角形打印编程打印直角杨辉三角形7、c语言必背100代码平均分问题通过键盘输入3名学生4门课程的成绩,分别求每个学生的平均成绩和每门课程的平均成绩。
要求所有成绩均放入一个4行5列的数组中,输入时同一人数据间用空格,不同人用回车其中最后一列和最后一行分别放每个学生的平均成绩、每门课程的平均成绩及班级总平均分。
#include <stdio.h>#include <stdlib.h>main(){ float a[4][5],sum1,sum2;int i,j;for(i=0;i<3;i++)for(j=0;j<4;j++)scanf("%f",&a[i][j]);for(i=0;i<3;i++){ sum1=0;for(j=0;j<4;j++)sum1+=a[i][j];a[i][4]=sum1/4;}for(j=0;j<5;j++){ sum2=0;for(i=0;i<3;i++)sum2+=a[i][j];a[3][j]=sum2/3;}for(i=0;i<4;i++){ for(j=0;j<5;j++)printf("%6.2f",a[i][j]);printf("\n");}}8、c语言必背100代码反向输出完善程序,实现将输入的字符串反序输出,如输入windows 输出swodniw。
c语言基础知识入门代码
c语言基础知识入门代码以下是一些C语言的基础知识入门代码:1. 输出语句:#include <stdio.h>int main(){printf("Hello, World!");return 0;}2. 变量定义:#include <stdio.h>int main(){int num = 5;printf("The value of num is %d", num);return 0;}3. 数据类型:#include <stdio.h>int main(){int num = 5;float float_num = 3.14;double double_num = 6.28;char character = 'C';printf("num = %d\n", num);printf("float_num = %f\n", float_num);printf("double_num = %lf\n", double_num);printf("character = %c\n", character);return 0;}4. 条件语句:#include <stdio.h>int main(){int num = 5;if(num < 10){printf("The value of num is less than 10");}else{printf("The value of num is greater than or equal to 10");}return 0;}5. 循环语句:#include <stdio.h>int main(){int num = 1;while(num <= 10){printf("%d ", num);num++;}return 0;}6. 函数定义:#include <stdio.h>int add(int a, int b){int sum = a + b;return sum;}int main(){int result = add(5, 10);printf("The result is %d", result);return 0;}这些是C语言基础知识的一些示例代码,可以让你更好地理解和学习C语言。
C语言入门训练代码(10条)
C语言入门训练代码(10条)1. 输入n,计算出n的阶乘。
#include <stdio.h>int main(){int n, i;long long ret = 1;printf("请输入一个正整数:");scanf("%d", &n);for (i=1; i<=n; ++i){ret *= i;}printf("%d的阶乘是%lld\n", n, ret);return 0;}2. 编写一个程序,将一个字符串中的字母全部转换为大写字母。
#include <stdio.h>#include <ctype.h>#define MAX_LEN 100int main(){char str[MAX_LEN + 1];int i;printf("请输入一个字符串:");fgets(str, MAX_LEN, stdin);for (i=0; str[i]!='\0'; ++i){str[i] = toupper(str[i]);}printf("转换后的字符串是:%s", str);return 0;}3. 输入两个正整数m和n,求它们的最大公约数和最小公倍数。
#include <stdio.h>int main(){int m, n, i, gcd, lcm;printf("请输入两个正整数m和n:");scanf("%d %d", &m, &n);for (i=1; i<=m && i<=n; ++i){if (m%i==0 && n%i==0){gcd = i;}}lcm = m*n / gcd;printf("%d和%d的最大公约数是%d,最小公倍数是%d\n", m, n, gcd, lcm);return 0;}4. 输入一组数据,计算它们的平均值以及大于平均值的个数。
7个大一C语言必学的程序C语言经典代码大全
7个大一C语言必学的程序C语言经典代码大全7个大一C语言必学的程序C语言是计算机专业的基础语言之一,作为大一新生,学好C语言对于你未来的学习和工作都非常重要。
以下是7个大一C语言必学的程序,通过学习和理解这些经典代码,你将对C语言的基础知识有更深入的了解,并能够应用到实际的编程中。
程序一:Hello World#include <stdio.h>int main() {printf("Hello World!\n");return 0;}这是C语言中最经典的程序,它将在屏幕上打印出"Hello World!"。
通过这个简单的程序,你将学会如何使用printf函数打印输出,并理解main函数的作用和返回值。
程序二:求和程序#include <stdio.h>int main() {int a = 10;int b = 20;int sum = a + b;printf("和为:%d\n", sum);return 0;}这个程序演示了如何进行加法运算,并将结果打印输出。
通过这个程序,你将学会如何定义变量,使用赋值运算符,并理解printf函数的格式化输出。
程序三:判断奇偶数#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("%d是偶数。
\n", num);} else {printf("%d是奇数。
\n", num);}return 0;}这个程序演示了如何判断一个整数是奇数还是偶数。
通过这个程序,你将学会如何使用if语句进行条件判断,并了解scanf函数的使用方法。
c语言编程代码
c语言编程代码C语言是一种通用的高级编程语言,它具有广泛的应用领域,包括嵌入式系统、游戏开发、操作系统以及各种应用软件等。
本文将为您介绍一些常用的C语言编程代码示例,以帮助您更好地了解和学习C语言编程。
1. Hello World!#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}以上代码是C语言中最经典的例子——Hello World。
它用于验证编译器和运行环境是否正常工作。
该代码会在控制台输出"Hello, World!"。
2. 变量和数据类型#include <stdio.h>int main() {int num1 = 10;float num2 = 3.14;char letter = 'A';printf("num1: %d\n", num1);printf("num2: %.2f\n", num2);printf("letter: %c\n", letter);return 0;}以上代码演示了在C语言中声明和使用变量的方法。
我们定义了一个整型变量num1,一个浮点型变量num2,以及一个字符型变量letter,并通过printf函数输出它们的值。
3. 条件语句#include <stdio.h>int main() {int num = 5;if(num > 0) {printf("Positive number\n");}else if(num < 0) {printf("Negative number\n");}else {printf("Zero\n");}return 0;}以上代码展示了C语言中的条件语句。
c语言必背代码
c语⾔必背代码 1、/*输出9*9⼝诀。
共9⾏9列,i控制⾏,j控制列。
*/ #include"stdio.h" main() {inti,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");/*每⼀⾏后换⾏*/ } } 2、/*古典问题:有⼀对兔⼦,从出⽣后第3个⽉起每个⽉都⽣⼀对兔⼦,⼩兔⼦长到第三个⽉后每个⽉⼜⽣⼀对兔⼦,假如兔⼦都不死,问每个⽉的兔⼦总数为多少? 兔⼦的规律为数列1,1,2,3,5,8,13,21....*/ main() { longf1,f2; inti; 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() { intm,i,k,h=0,leap=1; printf("\n"); for(m=101;m<=200;m++) {k=sqrt(m+1); 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("\nThetotalis%d",h); } 4、/*⼀个数如果恰好等于它的因⼦之和,这个数就称为"完数"。
c语言初学必背代码
11l.成绩判断#in elude <stdio.h> int mai n(){//成绩int score;printf("请输入你的成绩:\n");sca nf("%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的和#in clude <stdio.h>int mai n(){int sum = 0; //存结果变量int i;for(i=1;i <= 100;i++){sum = sum + i;}prin tf("sum=%d\n", sum); }113.最大公约数#i nclude <stdio.h>//求m,n的最大公约数int mai n(){int m, n;int i, k;printf("请输入两个数:");sca nf("%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.最小公倍数#in elude <stdio.h>//求m,n的最小公倍数int mai n(){int m, n;int max, min; 〃m,n 中较大,较小的那个int k; //max, 2*max, 3*max,printf("请输入两个数:");scan f("%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.金字塔#i nclude <stdio.h>//金字塔int mai n(){int i; // 外层int j; // 内层for(i=1;i<=10;i++){//当前是在第i行//先补空格10-i个for(j=1;jv=10-i;j++)}//再打2i-1个*for(j=1;j<=2*i-1;j++){prin tf("*");}prin tf("\n");}}printf(""); 〃6.九九乘法表#in clude <stdio.h>//打印九九乘法表int mai n(){int i,j;for(i=1;i<=9;i++) // 外层一定是9行{for(j=1; jv=i; j++) // 内层第几行走几遍{printf("%d*%d=%d ", i, j, i*j);}prin tf("\n");}}〃7.百钱买百鸡#i nclude <stdio.h>/**百钱买百鸡,类似1,2,5凑100银币问题int mai n2(){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 mai n3()int cou nt = 0; // 情况数for(i=0; i<=20; i++) 〃5 分个数{for(j=0; j<=50; j++) 〃2 分个数{if( ( 5*i + 2*j ) <= 100 ){coun t++;printf("%d: 5 分%d 个,2 分%d 个,1 分%d 个\n", count, i, j, 100-5*i-2*j);}}}}〃8. —维数组的最大值、最小值、平均值#i nclude <stdio.h>#defi ne N 10 //宏定义常量int mai n()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];}prin tf("max=%d, min=%d\n", max min);prin tf("average = %.2lf\n", sum/N); }〃9.二维数组的最大值、最小值、平均值#i nclude <stdio.h>int mai n(){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列{prin tf("%5d ", a[i][j]);if(a[i][j] < min)min = a[i][j];}prin tf("\n");}average = sum / (3*4);prin tf("max=%d, mi n=%d, avg=%.2lf\n", max, min, average);}〃10.二维数组转置#in elude <stdio.h>//二维数组转置:行变列,列变行int mai n()sum += a[i][j];{int i; //第几行if(a[i][j] > max)max = a[i][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]);}prin tf("\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++){prin tf("%5d", b[i][j]);}prin tf("\n");}}//11.冒泡排序#in elude <stdio.h>#defi ne N 10 //宏定义常量int mai n(){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;}}} 〃12.结构冒泡排序#in elude <stdio.h>//结构定义,用户自定义类型typedef struct stude nt{char sno [20]; // 学号char name[20]; // 姓名int age; // 年龄char gen der; // 性^char tel[20]; // 电话};int mai n(){int i;int j;double sum = 0;for(i=0; i<N; i++){prin tf("%d ",a[i]);;}prin tf("\n");}struct student tmp; //两两交换临时用;//结构数组struct stude nt team[5];for(i=0; i<5; i++){printf("请输入第%d个队员的信息:\n", i+1);sca nf("%s %s %d %c %s",team[i].s no, 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;}}}//取值prin tf("%-12s %-10s %-5s %-5s %-15s \n","学号","姓名","年龄","性别","电话");for(i=0; i<5; i++){prin tf("%-12s %-10s %-5d %-5c %-15s \n", team[i].sno, team[i].name, team[i].age, team[i].gender, team[i].tel);}}〃13.结构数组找年龄最大值#i nclude <stdio.h>//结构定义,用户自定义类型typedef struct stude nt{char sno [20]; // 学号char name[20]; // 姓名int age; // 年龄char gen der; // 性^char tel[20]; // 电话};int main(){int i;struct stude nt tmp; //找最大临时用//结构数组struct stude nt team[5];for(i=0; i<5; i++){printf("请输入第%d个队员的信息:\n", i+1);sca nf("%s %s %d %c %s" team[i].s no, team[i]. name, &team[i].age, &team[i].gender, team[i].tel);}//取值prin tf("%-12s %-10s %-5s %-5s %- 15s\n","学号","姓名","年龄","性别"," 电话");for(i=0; i<5; i++){prin tf("%-12s %-10s %-5d %-5c % -15s\n", team[i].s no, team[i]. name,team[i].age, team[i].gender, team[i].tel);}//找学号最大的那一个tmp = team[0];for(i=1; i<5; i++){ char name[20]; // 姓名if(strcmp(team[i].s no,tmp.s no) > int age; // 年龄0 ) char gen der; // 性^{ char tel[20]; // 电话tmp = team[i]; };}} //文件读写printf("学号最大的队员如下:\n"); int mai n()prin tf("%-12s %-10s %-5d %-5c % {-15s\n", tmp.s no, tmp. name, tmp.age, struct stude nt * s, * p1; //个数未知tmp.gender, tmp.tel); FILE * fp;} int i, n = 0;char buf[1024];//fgets 缓冲区〃14.文件读写//打开文件fp = fope n("e:\\test.txt", "r");#i nclude <stdio.h>#i nclude <stdlib.h>//结构定义,用户自定义类型typedef struct stude nt{char sno [20]; // 学号while(fgets(buf, 1024, fp) != NULL)n++;fclose(fp);//指向一个可以存储n个student结构的内存空间stude nt(struct*)malloc(sizeof(struct student) * n);free(s);pl = s; //不要动头位置s的值}//打开文件fp = fope n( "e:\\test.txt", "r");for(i=0; i<n; i++){//从文件中读入一行fscanf(fp, "%s %s %d %c %s", p1->s no, p1- >n ame, &p1->age, &p1->ge nder, p1->tel);p1++;}fclose(fp);p1 = s;for(i=0; i<3; i++){prin tf("%s %s %d %c %s\n",p1->s no, p1- >n ame, p1->age, p1->ge nder, p1->tel);〃15.输入三角形三边长计算周长和面积#in clude<stdio.h>#in clude<math.h>int mai n(){double area,perimeter,s,a,b,c;printf("请输入三边长a b c:");sca nf("%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;prin tf("area=%.2f,perimeter=%.2f\n ",area,perimeter);else{printf("三边长无法构成三角形\n");}return 0;}〃16.输入年份和月份输出对应那一月的天数要处理闰年#i ncludeint main(){int year,m on th;int leap =0;sca nf("%d %d", &year,&mon th);if((year %4==0 && year %100 !=0)|| year %400 ==0) // 闰年2 月29 天{switch(mo nth){case 1:case 3:case 5:case 7:case 8:case 10:case 12:pri ntf("31");break;case 4:case 6:case 9:case 11:pri ntf("30");break;case2:pri ntf("%d",28+leap);break;default:pri ntf("error");break } return 0;}leap=1; }//18.100到200所有的素数#i nclude <stdio.h>1117.1 , 2 , 5分硬币问题 #i nclude <stdio.h> int main(){int sum = 0;for(int i=0; i<=20; i++) 〃5 分{for(int j=0; j<=50; j++) 112分 {if(5*i + 2*j <= 100) sum++; elsebreak;} }printf("%d\n", sum); }int main() {int i,j,n;//外层for(i=100; i<=200; i++){n = i;//内层for(j=2;j<=n-1;j++) {if(n%j == 0)break; //不是素数} if(j==n)// 没找到printf("%d 是素数 \n", n); elseprintf("%d 不是素数 \n", n);}}〃19.输入一个数n , 计算 12+22+32+ …+n 2void swap(i nt *pa, int *pb){int tmp =*pa; *pa = *pb; *pb = tmp;int i, k;sca nf("%d", &k); i = 1;while(i <= k) {sum = sum + i * i; i++; }prin tf("sum = %d\n", sum); }prin tf("a=%d, b=%d\n", a, b);}II 定义一个方法swap()通过指针交换两个整#i nclude <stdio.h> int main() {int sum = 0;int mai n(){int a = 3; int b = 5;int *pa = &a;int *pb = &b; swap(pa, pb);〃20.指针交换数,并在main()中调用#i nclude <stdio.h>。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
言基本代码22 November 2020
'\0':是字符串的结朿标志
'空格
auto:声明自动变量一般不使用
double:声明双精度变量或函数(和%lf连用),
m=(double)(v~l)/1*100+;
这个式子加个double是将后而式子中非double类型强制转换类型为double
float:声明浮点型变量或函数(和%彳连用),单精度
int:声明整型变量或函数(与%d连用)
struct:声明结构体变量或函数
long:声明长整型变量或函数
switch:用于开关语句
enum:声明枚举类型
register:声明积存器变量
typedef:用以给数据类型取别名(当然还有其他作用)
extern:声明变量是在其他文件正声明(也可以看做是引用变量)
return:子程序返回语句(可以带参数,也看不带参数)
union:声明联合数据类型
const:声明只读变量
short:声明短整型变量或函数
unsigned:声明无符号类型变量或函数
signed:生命有符号类型变量或函数
void:声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)default:开关语句中的“其他”分支
goto:无条件跳转语句
sizeof:讣算数据类型长度,,是整型表达式用法sizeof(类型说明符,数组鋼或表达式);sizeof()是获取类型占用的字节数,是整形的
volatile :说明变量在程序执行中可被隐含地改变
static:声明静态变量
char:声明字符型变量或函数
strcmp:strcmp(sl, s2)比较字符串大小两个字符串自左向右逐个字符相比(按ASCII 值大小相比较),直到岀现不同的字符或遇'\0'为止大于返回1小于返回-1等于返回0 循环:
for:一种循环语句(可意会不可言传)for (表达式1;表达式2:表达式3) while:循环语句的循环条件
do:循环语句的循环体
break:跳出当前循环
continue:结束当前循环,开始下一轮循环
判断:
d=a>30b:c:相当于if暨当a>30是d=b否则d=c;
if :条件语句与elseifelse 并用1、在C 语言中一般认为“0”是假,瓦他不是“0”的部 是真。
2、if ()里面为真,则进入if 下的大括弧{},为假,就跳过。
以此题为例:
若X 是“0”(为假)。
则里面为假,跳过辻下的大{}
若X 不是“0”(为真)。
则里面为真,进入if 下的大{}。
case :开关语句分支,与switch (表达式)连用,case 常量表达式;default 冒号后而的 语句,表示除去各种casei :情况外,其它情况均用default 冒号后而的语句处理,即缺省 case 默认case 的处理
else :条件语句否定分支(与if 连用)
逻辑符号:
&&是逻辑与运算符,a&&b, —假必假,结合性从左至右
II :是逻辑或运算符,allb, —真必真,结合性从左至右
计算:
sqrt(x):计算 Vx
fabs(x):计算x 的绝对值
pow(x,n):计算x 的n 次方
exp(x):计算e 的x 次方
运算符号:
%:求余
V :小于
<=小于等于
>:大于
>=大于等于
=•等于
!=不等于
Scanf ( “ ”):
getchar():字符输入函数,只能读入一个字符,ch=getchar():读入一个字符并赋值 给ch 。
putchar():字符输出函数,可以输出一个字符。
gets():输入字符串。
湖减廉除
+-:*
力
%c:格式对应的是单个字符。
所以在输入多个字符的时候,它只会读取第一个字符,之后的字符是无法读入完成任务的,那么也就是说,只进行一次读取工作的C函数表达方式。
%s:格式对应的是字符串。
S通常表示复数,也是多个的意思,那么在字符中表示字符串。
%d:整数。
Printf :
%md:指定数据输出宽度为m。
若不足m左端补空格;若大于m实际位输出。
%f:指定以小数形式输出浮点型数据(保留6位小数)。
%. 2f:则指定输出时保留两位小数。
C语言strlenQ函数:返回宇符串的长度。