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.*/ int main() { float a, 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); } else if (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); } return 0; } 输出1: Enter coefficients a, b and c: 2.3 4 5.6 Roots are: -0.87+1.30i and -0.87-1.30i 输出2: Enter coefficients a, b and c: 4 1 0 Roots are: 0.00 and -0.25 14、C语言检查是否是闰年源代码: /* C program to check whether a year is leap year or not using if else statement.*/ #include <stdio.h> int main(){ int year; printf("Enter a year: "); scanf("%d",&year); if(year%4 == 0) { if( year%100 == 0) /* Checking for a century year */ { if ( year%400 == 0) printf("%d is a leap year.", year); else printf("%d is not a leap year.", year); } else printf("%d is a leap year.", year ); } else printf("%d is not a leap year.", year); return 0; } 输出1: Enter year: 2000 2000 is a leap year. 输出2: Enter year: 1900 1900 is not a leap year. 输出3: Enter year: 2012 2012 is a leap year. 15、C语言检查一个数是正数、负数还是零源代码: #include <stdio.h> int main() { float num; printf("Enter a number: "); scanf("%f",&num); if (num<=0) { if (num==0) printf("You entered zero."); else printf("%.2f is negative.",num); } else printf("%.2f is positive.",num); return 0; } 也可以使用if-else语句 /* C programming code to check whether a number is negative or positive or zero using nested if...else statement. */ #include <stdio.h> int main() { float num; printf("Enter a number: "); scanf("%f",&num); if (num<0) /* Checking whether num is less than 0*/ printf("%.2f is negative.",num); else if (num>0) /* Checking whether num is greater than zero*/ printf("%.2f is positive.",num); else printf("You entered zero."); return 0; } 输出1: Enter a number: 12.3 12.30 is positive. 输出2: Enter a number: -12.3 -12.30 is negative. 输出3: Enter a number: 0 You entered zero. 16、C语言检查某字符串是不是字母源代码: /* C programming code to check whether a character is alphabet or not.*/ #include <stdio.h> int main() { char c; printf("Enter a character: "); scanf("%c",&c); if( (c>='a'&& c<='z') || (c>='A' && c<='Z')) printf("%c is an alphabet.",c); else printf("%c is not an alphabet.",c); return 0; } 输出1: Enter a character: * * is not an alphabet 输出2: Enter a character: K K is an alphabet 17、C语言计算自然数的和源代码: /* This program is solved using while loop. */ #include <stdio.h> int main() { int n, count, sum=0; printf("Enter an integer: "); scanf("%d",&n); count=1; while(count<=n) /* while loop terminates if count>n */ { sum+=count; /* sum=sum+count */ ++count; } printf("Sum = %d",sum); return 0; } 也可以使用for循环语句 /* This program is solve using for loop. */ #include <stdio.h> int main() { int n, count, sum=0; printf("Enter an integer: "); scanf("%d",&n); for(count=1;count<=n;++count) /* for loop terminates if count>n */ { sum+=count; /* sum=sum+count */ } printf("Sum = %d",sum); return 0; } 输出: Enter an integer: 100 Sum = 5050 也可以通过if-else语句 /* This program displays error message when user enters negative number or 0 and displays the sum of natural numbers if user enters positive number. */ #include <stdio.h> int main() { int n, count, sum=0; printf("Enter an integer: "); scanf("%d",&n); if ( n<= 0) printf("Error!!!!"); else { for(count=1;count<=n;++count) /* for loop terminates if count>n */ { sum+=count; /* sum=sum+count */ } printf("Sum = %d",sum); } return 0; } 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> int main() { int n, count; unsigned long long int factorial=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); } return 0; } 输出1: Enter an integer: -5 Error!!! Factorial of negative number doesn't exist. 输出2: Enter an integer: 10 Factorial = 3628800 先介绍到这里,下一篇将分享更多的C语言基础算法,敬请期待。 |