c语言基本代码
C语言程序大全
C语言程序大全一、概述C语言是一种十分常用的编程语言,广泛应用于多个领域,包括操作系统、嵌入式系统、游戏开发等。
本文将为您提供一份C语言程序大全,涵盖了常见的C语言程序示例,帮助您更好地理解和运用C语言。
二、基本语法1. Hello, World! 程序示例```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```以上代码是C语言的经典入门示例,它会在控制台输出"Hello, World!"。
通过此示例,您可以了解到C语言的基本语法,如#include 指令、main函数等。
2. 变量和数据类型示例```c#include <stdio.h>int main() {int num1 = 10;float num2 = 3.14;char ch = 'A';printf("num1 = %d\n", num1);printf("num2 = %f\n", num2);printf("ch = %c\n", ch);return 0;}```以上代码展示了如何声明和初始化变量,并输出它们的值。
通过此示例,您可以学习到C语言的基本数据类型,如整型、浮点型、字符型等。
3. 条件语句示例```c#include <stdio.h>int main() {int num = 10;if (num > 0) {printf("num is positive.\n");} else if (num < 0) {printf("num is negative.\n");} else {printf("num is zero.\n");}return 0;}```以上代码展示了如何使用条件语句来进行判断。
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语言入门基础代码(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语言简单程序代码
C语言简单程序代码C语言程序 5-3#include<stdio.h> void main(){char ch;int b,s=0;while((ch=getchar())!='\n'){if(ch<='9'&&ch>='0'){ b=ch-'0';s=s+b;}}printf("%d",s);getchar();}5-4:#include<stdio.h> void main(){int a,b,i,s=0,n;scanf("%d,%d",&a,&b);n=a>b?b:a;for(i=1;i<=n;i++){if(a%i==0&&b%i==0)s=i;}printf("%d",s);getchar();}5-5:#include<stdio.h> void main() { char ch;while((ch=getchar())!='\n') { if(ch<='Z'&&ch>='A')ch=ch+32;printf("%c",ch);}}5-6:#include<stdio.h> void main() {int i,n;float a=1,b=2,s=0,t;scanf("%d",&n);for(i=1;i<=n;i++){s=s+b/a;b=a+b;a=b-a;}printf("%.4f",s); }5-7:#include<stdio.h> void main() {int a[10];int i,t,s;for(i=0;i<=9;i++)scanf("%d",&a[i]);s=a[0];for(i=1;i<=9;i++){if(a[i]>s)s=s;else s=a[i];}printf("%d",s); }1031:(统计单词)#include<stdio.h> void main() {int n=0,a=0;char ch;while((ch=getchar())!='\n'){if(ch==' ')a=0;else if(a==0){ n=n+1;a=1;}}printf("%d",n);}1042:(富翁问题)#include<stdio.h> void main() {int m,i,a=0,b=0;float s;s=0.1;scanf("%d",&m);for(i=1;i<=38;i++){a=a+m*i;s=2*s;b=b+s;if(a<b)break;}printf("%d",i+1); }1028:(素数)#include<stdio.h> void main(){int i,j,t,n=0;for(i=2;i<=200;i++){for(j=2;j<i;j++){ if(i%j==0) break;}if(j==i){ printf("%d",i);n=n+1;if(n%1==0)printf("\n");/*printf要受外面的if控制,否则n为30时隔了很多个数才有素数,搞到要连续换行*/}}}1035:(菱形)#include<stdio.h> void main(){int i,j,n,a;scanf("%d",&n);n=2*n+1;for(i=1;i<=n;i++){a=(n+1)/2;for(j=1;j<=(i<a?a-i:i-a);j++)printf(" ");for(j=1;j<=(i<=a?2*i-1:2*(n-i)+1);j++)printf("*");printf("\n");}}1038:打印图案(只限数字1~9) #include<stdio.h> void main() {int i,j,n,a,b,e,f,g;char ch,d;ch='1';scanf("%d",&n);n=2*n-1;a=(n+1)/2;for(i=1;i<=n;i++){for(j=1;j<=(i<a?a-i:i-a);j++)printf(" ");for(j=1;j<=(i<=a?2*i-1:2*(n-i)+1);j++){if(i<=a){ if((b=ch-'0')<=i){ printf("%c",ch);ch=ch+1;d=ch;}else{d=d-2;printf("%c",d); d=d+1;}}else{e=n-i+1;if((f=ch-'0')<=e) {printf("%c",ch); ch=ch+1;g=ch;}else{g=g-2;printf("%c",g); g=g+1;}}}ch='1';printf("\n");}}改进版:(适合所有数)#include<stdio.h> void main(){int i,j,n,a,b,e,f,g;int ch,d;ch=1;scanf("%d",&n);n=2*n-1;a=(n+1)/2;for(i=1;i<=n;i++){for(j=1;j<=(i<a?a-i:i-a);j++)printf(" ");for(j=1;j<=(i<=a?2*i-1:2*(n-i)+1);j++) {if(i<=a){ if((b=ch-0)<=i){ printf("%d",ch);ch=ch+1;d=ch;}else{d=d-2;printf("%d",d);d=d+1;}}else{e=n-i+1;if((f=ch-0)<=e){printf("%d",ch);ch=ch+1;g=ch;}else{g=g-2;printf("%d",g);g=g+1;}}}ch=1;printf("\n");}}1039#include<stdio.h> void main() {int a[10],i;for(i=0;i<=9;i++)scanf("%d ",&a[i]);for(i=9;i>=0;i--)printf(" %d",a[i]); }1040:(自制的)#include<stdio.h> void main(){int a[21],b=20,j,i,c=0;for(i=1;i<=20;i++)scanf("%d",&a[i]);for(i=1;i<=20;i++){for(j=i+1;j<=20;j++){if(a[i]==a[j]){ c=c++;break;}}}b=b-c;printf("%d",b); }#include<stdio.h> (别人的)void main(){int a[20],i,j,n=0; for(i=0;i<20;i++) scanf("%d",&a[i]); for(i=0;i<20;i++) {for(j=0;j<i;j++)if(a[i]==a[j]&&i!=j) {n++;break;}}printf("%d\n",20-n);}1062:#include<stdio.h> void main(){int a[3][4];int i,j,c,n=0;for(i=0;i<=2;i++) {for(j=0;j<=3;j++){scanf("%d",&a[i][j]);}}for(j=0;j<=3;j++) { for(i=0;i<=2;i++) {c=a[i][j];printf("%d ",c);n++;if(n%3==0)printf("\n");}}}冒泡排序:#include<stdio.h> void main(){int a[10];int i,j,t;for(i=0;i<=9;i++)scanf("%d",&a[i]);for(j=0;j<=8;j++){for(i=0;i<=(9-j);i++)if(a[i]>a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;}}for(i=0;i<=9;i++)printf("%d ",a[i]); }高精度计算:#include<stdio.h> void main(){char ch;int a[100],b[100],i=1,c[100],d[100],e=1,h,j,k; while((ch=getchar())!='\n'){a[i]=ch-'0';i++;}while((ch=getchar())!='\n') {b[e]=ch-'0';e++;}i--;e--;h=(i>e?i:e);d[h]=0;k=h;for(;h!=0;h--){ c[h]=(a[i]+b[e]+d[h])%10; d[h-1]=(a[i]+b[e])/10;i--;e--;if(e==0){b[1]=0;e++;}if(i==0){a[1]=0;i++;}}for(j=1;j!=(k+1);j++)printf("%d",c[j]); } 1121:#include<stdio.h>#include<string.h>void main(){char s[20];strcpy(s,"abcdefghijklmn");printf("%s",s);}1123:#include<stdio.h>#include<string.h>void main(){char s[50];printf("what's your name?");gets(s);printf("your name is ");printf("%s",s);}1122:#include<stdio.h> #include<string.h> void main() {char s1[100],s2[100],s3[100];gets(s1);gets(s2);gets(s3);strcat(s1,s2);printf("%s",s1);printf("%s",s3); }1050:#include<stdio.h> #include<string.h> void main() {char s1[100],s2[100];int i,j,a,b,p,c,d,n;gets(s1);gets(s2);a=strlen(s1);b=strlen(s2);p=1;i=0;j=0;while(p==1){if(s1[i]==s2[j]){ n=i;c=i;d=j;for(;d<=(b-1);d++){if(s1[c]==s2[d])c++;else break;}if(b==d)p=0;}i++;}printf("%d ",n+1); }1059:#include<stdio.h> int max(int m,int n) { int r;while((r=m%n)!=0){m=n;n=r;}return n;}void main(){int a,b,n;scanf("%d%d",&a,&b);printf("%d\n",max(a,b));}1083:#include<stdio.h> int fac(int n) {int s=1;while(n!=1){s=s*n;n--;}return s;}void main(){int n;scanf("%d",&n);printf("%d",fac(n));}1124:#include<stdio.h> int fl(int x){static int z=3,y=0;y++;z++;return(x+y+z); }void main(){int a=1,k;for(k=0;k<3;k++)printf("%4d",fl(a)); }。
(完整版)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语言代码基础。
一、基础语法1.1 C语言的注释方式注释方式 // 单行注释或/* 多行注释 */。
1.2 C语言的变量定义和基本运算变量定义:type name; 基本运算:四则运算和赋值操作符。
1.3 C语言的控制流程语句if-else语句、for循环语句、while循环语句、do-while循环语句、switch-case语句、break语句和continue语句等。
1.4 C语言的函数定义和调用函数的定义:type function_name(arguments){...}。
调用函数:function_name(arguments)。
二、指针与数组2.1 指针的概念和使用方法指针是一个变量,存储内存地址并允许程序直接访问该地址内存中的值。
指针的使用方法:*p表示指向p所指向的地址的值,&variable表示变量variable的地址。
2.2 数组的定义和使用方法数组是一组同类型的数据,用一个名字和下标来表示。
数组的定义方法:type array_name[size]。
数组的使用方法:array_name[index]。
三、文件操作3.1 文件的打开和关闭打开文件:fopen(filename, mode)。
关闭文件:fclose(file_pointer)。
3.2 文件的读写操作读文件:fscanf(file_pointer, format, arguments),fgets(buffer, size, file_pointer), fread(pointer, size, count, file_pointer)。
写文件:fprintf(file_pointer, format, arguments), fputs(string, file_pointer)。
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语言代码大全
c语言代码大全C语言代码大全。
C语言作为一种通用的高级语言,被广泛应用于系统程序设计和应用程序开发。
它具有高效的系统编程能力和灵活的应用程序编程能力,因此备受程序员们的喜爱。
在本文中,我们将为您介绍一些常见的C语言代码,帮助您更好地理解和运用C语言。
首先,让我们来看一个简单的C语言程序示例:```c。
#include <stdio.h>。
int main() {。
printf("Hello, World!\n");return 0;}。
```。
在这个示例中,我们使用了`#include`指令来包含标准输入输出库文件`stdio.h`,然后定义了一个`main`函数,函数内部使用`printf`函数打印了一条简单的消息,并通过`return 0`语句返回了程序执行的结果。
接下来,让我们看一下如何使用C语言实现一个简单的计算器功能:```c。
#include <stdio.h>。
int main() {。
char operator;double firstNumber,secondNumber;printf("Enter an operator (+, -, , /): ");scanf("%c", &operator);printf("Enter two operands: ");scanf("%lf %lf",&firstNumber, &secondNumber);switch(operator) {。
case '+':printf("%.1lf + %.1lf = %.1lf",firstNumber, secondNumber, firstNumber + secondNumber);break;case '-':printf("%.1lf %.1lf = %.1lf",firstNumber, secondNumber, firstNumber secondNumber);break;case '':printf("%.1lf %.1lf = %.1lf",firstNumber, secondNumber, firstNumber secondNumber);break;case '/':printf("%.1lf / %.1lf = %.1lf",firstNumber, secondNumber, firstNumber / secondNumber);break;default:printf("Error! operator is not correct");}。
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语言学习入门基础代码
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语言基础知识入门代码以下是一些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. 输入一组数据,计算它们的平均值以及大于平均值的个数。
c语言入门自学零基础代码
c语言入门自学零基础代码
由于C语言具有面向过程的特点,所以很适合入门级的自学者。
下面是一些简单的C 语言代码,适合零基础的自学者入门。
1. 打印Hello World
在C语言中,printf()函数是用于打印输出的函数。
在上面的代码中,我们使用printf()函数打印“Hello World”字符串。
2. 计算两个数的和
在上面的代码中,我们定义了三个整数变量a、b和sum。
然后,我们使用scanf()函数从用户处获取a和b的值,通过a和b的值计算它们的和,并使用printf()函数输出结果。
3. 判断一个数是偶数还是奇数
在上面的代码中,我们使用scanf()函数获取用户输入的整数值。
然后,我们使用if语句来检查该数字是否为偶数。
如果数字是偶数,则使用printf()函数打印它是一个偶数。
否则,它将被视为奇数并将相应的消息打印出来。
4. 计算1到n的和
5. 交换两个数的值
这些都是一些简单的C语言代码,适合零基础的自学者入门。
这些代码包括打印字符串、从用户处获取输入、使用if语句和循环、定义和调用函数等基本概念。
如果你是一个C语言的初学者,这些代码将是练习基本概念的好资源。
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、/*⼀个数如果恰好等于它的因⼦之和,这个数就称为"完数"。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
struct:声明结构体变量或函数
long:声明长整型变量或函数
switch:用于开关语句
enum:声明枚举类型
register:声明积存器变量
typedef:用以给数据类型取别名(当然还有其他作用)
extern:声明变量是在其他文件正声明(也可以看做是引用变量)
return:子程序返回语句(可以带参数,也看不带参数)
union:声明联合数据类型
const:声明只读变量
short:声明短整型变量或函数
unsigned:声明无符号类型变量或函数
signed:生命有符号类型变量或函数
void:声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)
default:开关语句中的“其他”分支
>=:大于等于
==:等于
!=:不等于
Scanf(“”):
getchar():字符输入函数,只能读入一个字符,ch=getchar():读入一个字符并赋值给ch。
putchar():字符输出函数,可以输出一个字符。
gets():输入字符串。
%c:格式对应的是单个字符。
所以在输入多个字符的时候,它只会读取第一个字符,之后的字符是无法读入完成任务的,那么也就是说,只进行一次读取工作的C函数表达方式。
c语言基本代码
'\0':是字符串的结束标志
‘‘:空格
auto:声明自动变量一般不使用
double:声明双精度变量或函数(和%lf连用),
m=(double)(v-l)/l*100+;
这个式子加个double是将后面式子中非double类型强制转换类型为double
float:声明浮点型变量或函数(和%f连用),单精度
&&:是逻辑与运算符,a&&b,一假必假,结合性从左至右
||:是逻辑或运算符,a||b,一真必真,结合性从左至右
计算:
sqrt(x):计算√x
fabs(x):计算x的绝对值
pow(x,n):计算x的n次方
exp(x):计算e的x次方
运算符号:
+:加
-:减
*:乘
/:除
%:求余
<:小于
<=:小于等于
>:大于
goto:无条件跳转语句
sizeof:计算数据类型长度,,是整型表达式用法sizeof(类型说明符,数组名或表达式);sizeof()是获取类型占用的字节数,是整形的
volatile:说明变量在程序执行中可被隐含地改变
static:声明静态变量
char:声明字符型变量或函数
strcmp:strcmp(s1,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”的都是真。
头文件:#include<>
%s:格式对应的是字符串。
S通常表示复数,也是多个的意思,那么在字符中表示字符串。
%d:整数。
Printf(“”):
%md:指定数据输出宽度为m。若不足m左端补空格;若大于m实际位输出。
%f:指定以小数形式输出浮点型数据(保留6位小数)。
%.2f:则指定输出时保留两位小数。
C语言strlen()函数:返回字符串的长度
2、if()里面为真,则进入if下的大括里面为假,跳过if下的大{}
若X不是“0”(为真)。则里面为真,进入if下的大{}。
case:开关语句分支,与switch(表达式)连用,case常量表达式
else:条件语句否定分支(与if连用)
逻辑符号: