下面这些C语言基础算法案例都是经过测试和验证过了的,欢迎各位使用。
本文是该系列的第一篇,都是一些相对初级的算法,很适合刚开始学C语言的同学。
1、C语言打印一条语句
源代码:
/* C Program to print a sentence. */#include<stdio.h>intmain(){printf("C Programming");/* printf() prints the content inside quotation */return0;}
输出:
C Programming
2、C语言打印用户输入的一个整数
源代码:
#include<stdio.h>intmain(){intnum;printf("Enter a integer: ");scanf("%d", &num);/* Storing a integer entered by user in variable num */printf("You entered: %d",num);return0;}
输出:
Enter ainteger:25Youentered:25
3、C语言实现两个整数相加
源代码:
/*C programming source code to add and display the sum of two integers entered by user */#include<stdio.h>intmain( ){intnum1, num2, sum;printf("Enter two integers: ");scanf("%d %d", &num1, &num2);/* Stores the two integer entered by user in variable num1 and num2 */sum = num1 + num2;/* Performs addition and stores it in variable sum */printf("Sum: %d", sum);/* Displays sum */return0;}
输出:
Enter twointegers:1211Sum:23
4、C语言实现两个小数相乘
源代码:
/*C program to multiply and display the product of two floating point numbers entered by user. */#include<stdio.h>intmain( ){floatnum1, num2, product;printf("Enter two numbers: ");scanf("%f %f", &num1, &num2);/* Stores the two floating point numbers entered by user in variable num1 and num2 respectively */product = num1 * num2;/* Performs multiplication and stores it */printf("Product: %f", product);return0;}
输出:
Entertwonumbers: 2.41.1Product: 2.640000
学习从来不是一个人的事情,要有个相互监督的伙伴,工作需要学习C/C++或者为了入行、转行学习C/C++的伙伴可以私信回复小编“学习”领取全套免费C/C++学习资料、视频
你想成为一个什么样的程序员?
5、C语言查找字符的ASCII值
源代码:
/* Source code to find ASCII value of a character entered by user */#include<stdio.h>intmain(){charc;printf("Enter a character: ");scanf("%c", &c);/* Takes a character from user */printf("ASCII value of %c = %d", c, c);return0;}
输出:
Enteracharacter: GASCIIvalueofG =71
6、C语言根据用户输入的整数做商和余数
源代码:
/* C Program to compute remainder and quotient */#include<stdio.h>intmain(){intdividend, divisor, quotient, remainder;printf("Enter dividend: ");scanf("%d", ÷nd);printf("Enter divisor: ");scanf("%d", &divisor); quotient = dividend / divisor;/* Computes quotient */remainder = dividend % divisor;/* Computes remainder */printf("Quotient = %d\n", quotient);printf("Remainder = %d", remainder);return0;}
输出:
Enter dividend: 25
Enter divisor: 4
Quotient = 6
Remainder = 1
7、C语言获取整型、单精度浮点型、双精度浮点型和字符型的长度
基本语法是:
temp = sizeof(operand);/* Here, tempisa variableoftypeinteger, i.e, sizeof()operatorreturnsintegervalue. */
源代码:
/* This program computes the size of variable using sizeof operator. */#include<stdio.h>intmain(){inta;floatb;doublec;chard;printf("Size of int: %d bytes\n",sizeof(a));printf("Size of float: %d bytes\n",sizeof(b));printf("Size of double: %d bytes\n",sizeof(c));printf("Size of char: %d byte\n",sizeof(d));return0;}
输出:
Sizeofint:4bytesSizeoffloat:4bytesSizeofdouble:8bytesSizeofchar:1byte
注:可能会由于系统的不同出来的结果也不尽相同。
8、C语言获取关键字long的长度范围
源代码:
#include<stdio.h>intmain(){inta;longintb;/* int is optional. */longlongintc;/* int is optional. */printf("Size of int = %d bytes\n",sizeof(a));printf("Size of long int = %ld bytes\n",sizeof(b));printf("Size of long long int = %ld bytes",sizeof(c));return0;}
输出:
Sizeofint=4bytesSizeoflongint=4bytesSizeoflonglongint=8bytes
9、C语言交换数值
源代码:
#include<stdio.h>intmain(){floata, b, temp;printf("Enter value of a: ");scanf("%f",&a);printf("Enter value of b: ");scanf("%f", &b); temp = a;/* Value of a is stored in variable temp */a = b;/* Value of b is stored in variable a */b = temp;/* Value of temp(which contains initial value of a) is stored in variable b*/printf("\nAfter swapping, value of a = %.2f\n", a);printf("After swapping, value of b = %.2f", b);return0;}
输出:
Entervalueofa:1.20Entervalueofb:2.45After swapping,valueofa=2.45After swapping,valueofb =1.2
10、C语言检查数值是奇数还是偶数
源代码:
/*C program to check whether a number entered by user is even or odd. */#include<stdio.h>intmain(){intnum;printf("Enter an integer you want to check: ");scanf("%d", &num);if((num %2) ==0)/* Checking whether remainder is 0 or not. */printf("%d is even.", num);elseprintf("%d is odd.", num);return0;}
输出1:
Enter anintegeryou wanttocheck:2525isodd.
输出2:
Enter anintegeryou wanttocheck:1212iseven.
也可以用条件运算符解决:
/* C program to check whether an integer is odd or even using conditional operator */#include<stdio.h>intmain(){intnum;printf("Enter an integer you want to check: ");scanf("%d", &num); ((num%2) ==0) ?printf("%d is even.", num) :printf("%d is odd.", num);return0;}
11、C语言检查是元音还是辅音
源代码:
#include<stdio.h>intmain(){charc;printf("Enter an alphabet: ");scanf("%c", &c);if(c =='a'|| c =='A'|| c =='e'|| c =='E'|| c =='i'|| c =='I'|| c =='o'|| c =='O'|| c =='u'|| c =='U')printf("%c is a vowel.", c);elseprintf("%c is a consonant.", c);return0;}
输出1:
Enter an alphabet:iiisavowel.
输出2:
Enteranalphabet: GG isaconsonant.
也可以用条件运算符解决
/* C program to check whether a character is vowel or consonant using conditional operator */#include<stdio.h>intmain(){charc;printf("Enter an alphabet: ");scanf("%c", &c); (c =='a'|| c =='A'|| c =='e'|| c =='E'|| c=='i'|| c=='I'|| c =='o'|| c =='O'|| c =='u'|| c =='U') ?printf("%c is a vowel.", c) :printf("%c is a consonant.", c);return0;}
输出结果和上面的程序相同。
12、C语言实现从三个数值中查找最大值
实现1:
/* C program to find largest number using if statement only */#include<stdio.h>intmain(){floata, b, c;printf("Enter three numbers: ");scanf("%f %f %f", &a, &b, &c);if(a > =b && a >= c)printf("Largest number = %.2f", a);if(b >= a && b >= c)printf("Largest number = %.2f", b);if(c >= a && c >= b)printf("Largest number = %.2f", c);return0;}
实现2:
/* C program to find largest number using if...else statement */#include<stdio.h>intmain(){floata, b, c;printf("Enter three numbers: ");scanf("%f %f %f", &a, &b, &c);if(a >= b) {if(a >= c)printf("Largest number = %.2f", a);elseprintf("Largest number = %.2f", c); }else{if(b >= c)printf("Largest number = %.2f", b);elseprintf("Largest number = %.2f", c); }return0;}
实现3:
/* C Program to find largest number using nested if...else statement */#include<stdio.h>intmain(){floata, b, c;printf("Enter three numbers: ");scanf("%f %f %f", &a, &b, &c);if(a >= b && a >= c)printf("Largest number = %.2f", a);elseif(b>=a && b>=c)printf("Largest number = %.2f", b);elseprintf("Largest number = %.2f", c);return0;}
输出结果相同:
Enter threenumbers:12.213.45210.193Largestnumber=13.45
13、C语言解一元二次方程
源代码:
/* Program to find roots of a quadratic equation when coefficients are entered by user. *//* Library function sqrt() computes the square root. */#include<stdio.h>#include<math.h> /* This is needed to use sqrt() function. */intmain(){floata, b, c, determinant, r1,r2, real, imag;printf("Enter coefficients a, b and c: ");scanf("%f%f%f",&a,&b,&c); determinant=b*b-4*a*c;if(determinant>0) { r1 = (-b +sqrt(determinant)) / (2* a); r2 = (-b -sqrt(determinant)) / (2* a);printf("Roots are: %.2f and %.2f", r1 , r2); }elseif(determinant ==0) { r1 = r2 = -b / (2* a);printf("Roots are: %.2f and %.2f", r1, r2); }else{ real= -b/(2*a); imag =sqrt(-determinant)/(2*a);printf("Roots are: %.2f+%.2fi and %.2f-%.2fi", real, imag, real, imag); }return0;}
输出1:
Entercoefficientsa,bandc: 2.345.6Rootsare:-0.87+1.30iand-0.87-1.30i
输出2:
Enter coefficientsa,band c:410Roots are:0.00and -0.25
14、C语言检查是否是闰年
源代码:
/* C programtocheck whether ayearisleapyearornotusingifelsestatement. */#include <stdio.h>int main(){ intyear; printf("Enter a year: "); scanf("%d", &year);if(year%4==0) {if(year%100==0) /* Checkingfora centuryyear*/ {if(year%400==0) printf("%d is a leap year.",year);elseprintf("%d is not a leap year.",year); }elseprintf("%d is a leap year.",year); }elseprintf("%d is not a leap year.",year); return0;}
输出1:
Enteryear:20002000isa leapyear.
输出2:
Enteryear:19001900isnota leapyear.
输出3:
Enteryear:20122012isa leapyear.
15、C语言检查一个数是正数、负数还是零
源代码:
#include<stdio.h>intmain(){floatnum;printf("Enter a number: ");scanf("%f", &num);if(num <=0) {if(num ==0)printf("You entered zero.");elseprintf("%.2f is negative.", num); }elseprintf("%.2f is positive.", num);return0;}
也可以使用if-else语句
/* C programming code to check whether a number is negative or positive or zero using nested if...else statement. */#include<stdio.h>intmain(){floatnum;printf("Enter a number: ");scanf("%f", &num);if(num<0)/* Checking whether num is less than 0*/printf("%.2f is negative.", num);elseif(num>0)/* Checking whether num is greater than zero*/printf("%.2f is positive.", num);elseprintf("You entered zero.");return0;}
输出1:
Enter anumber:12.312.30ispositive.
输出2:
Enter anumber:-12.3-12.30isnegative.
输出3:
Enteranumber:0You enteredzero.
16、C语言检查某字符串是不是字母
源代码:
/* C programming code to check whether a character is alphabet or not. */#include<stdio.h>intmain(){charc;printf("Enter a character: ");scanf("%c",&c);if( (c >='a'&& c <='z') || (c >='A'&& c <='Z'))printf("%c is an alphabet.", c);elseprintf("%c is not an alphabet.", c);return0;}
输出1:
Enteracharacter: ** isnotanalphabet
输出2:
Enteracharacter: KK isanalphabet
17、C语言计算自然数的和
源代码:
/* This program is solved using while loop. */#include intmain(){intn,count,sum=0; printf("Enter an integer: "); scanf("%d", &n);count=1; while(count<=n) /* while loop terminatesifcount>n*/ {sum+=count; /*sum=sum+count*/ ++count; } printf("Sum = %d",sum); return0;}
也可以使用for循环语句
/* This program is solve using for loop. */#include intmain(){intn,count,sum=0; printf("Enter an integer: "); scanf("%d", &n); for (count=1;count<=n; ++count) /* for loop terminatesifcount>n*/ {sum+=count; /*sum=sum+count*/ } printf("Sum = %d",sum); return0;}
输出:
Enter aninteger:100Sum=5050
也可以通过if-else语句
/* This program displays error message when user enters negative numberor0anddisplays thesumof natural numbersifuser enters positive number. */#include intmain(){intn,count,sum=0; printf("Enter an integer: "); scanf("%d", &n);if(n<=0) printf("Error!!!!"); else { for(count=1;count<=n; ++count) /* for loop terminatesifcount>n*/ {sum+=count; /*sum=sum+count*/ } printf("Sum = %d",sum); } return0;}
18、C语言计算阶乘
对于任意正数n,阶乘指的是:
factorial = 1*2*3*4....n
如果数值是负数,那么阶乘就不存在。并且我们规定,0的阶乘就是1。
源代码:
/* C program to display factorial of an integer if user enters non-negative integer. */#include<stdio.h>intmain(){intn, count;unsignedlonglongintfactorial =1;printf("Enter an integer: ");scanf("%d", &n);if(n <0)printf("Error!!! Factorial of negative number doesn't exist.");else{for(count =1; count <= n; ++count)/* for loop terminates if count>n */{ factorial *= count;/* factorial=factorial*count */}printf("Factorial = %lu", factorial); }return0;}
输出1:
Enter aninteger:-5Error!!! Factorialofnegative number doesn't exist.
输出2:
Enteraninteger:10Factorial =3628800
网友评论