黑马程序员技术交流社区

标题: c语言基础算法案例 [打印本页]

作者: 唐阿丽    时间: 2015-11-12 11:12
标题: c语言基础算法案例
很适合刚开始学C语言的同学。
1、C语言打印一条语句
源代码:
/* C Program to print a sentence. */
#include <stdio.h>
int main()
{
   printf("C Programming"); /* printf() prints the content inside quotation */
   return 0;
}
输出:
C Programming

2、C语言打印用户输入的一个整数

源代码:
#include <stdio.h>
int main()
{
    int num;
    printf("Enter a integer: ");  
    scanf("%d",&num);  /* Storing a integer entered by user in variable num */
    printf("You entered: %d",num);
    return 0;
}
输出:
Enter a integer: 25
You entered: 25
3、C语言实现两个整数相加

源代码:
/*C programming source code to add and display the sum of two integers entered by user */

#include <stdio.h>
int main( )
{
    int num1, 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 */
    return 0;
}
输出:
Enter two integers: 12
11
Sum: 23
4、C语言实现两个小数相乘

源代码:
/*C program to multiply and display the product of two floating point numbers entered by user. */

#include <stdio.h>
int main( )
{
    float num1, 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);
    return 0;
}
输出:
Enter two numbers: 2.4
1.1
Product: 2.640000
5、C语言查找字符的ASCII值

源代码:
/* Source code to find ASCII value of a character entered by user */

#include <stdio.h>
int main(){
    char c;
    printf("Enter a character: ");
    scanf("%c",&c);        /* Takes a character from user */
    printf("ASCII value of %c = %d",c,c);
    return 0;
}
输出:
Enter a character: G
ASCII value of G = 71
6、C语言根据用户输入的整数做商和余数

源代码:
/* C Program to compute remainder and quotient  */

#include <stdio.h>
int main(){
    int dividend, divisor, quotient, remainder;
    printf("Enter dividend: ");
    scanf("%d",&dividend);
    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);
    return 0;
}
输出:
Enter dividend: 25
Enter divisor: 4
Quotient = 6
Remainder = 1
7、C语言获取整型、单精度浮点型、双精度浮点型和字符型的长度

基本语法是:
temp = sizeof(operand);
/* Here, temp is a variable of type integer,i.e, sizeof() operator
   returns integer value. */
源代码:
/* This program computes the size of variable using sizeof operator.*/

#include <stdio.h>
int main(){
    int a;
    float b;
    double c;
    char d;
    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));
    return 0;
}
输出:
Size of int: 4 bytes
Size of float: 4 bytes
Size of double: 8 bytes
Size of char: 1 byte
注:可能会由于系统的不同出来的结果也不尽相同。

8、C语言获取关键字long的长度范围

源代码:
#include <stdio.h>
int main(){
    int a;
    long int b;                /* int is optional. */
    long long int c;            /* 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));
    return 0;
}
输出:
Size of int = 4 bytes
Size of long int = 4 bytes
Size of long long int = 8 bytes
9、C语言交换数值

源代码:
#include <stdio.h>
int main(){
      float a, 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);
      return 0;
}
输出:
Enter value of a: 1.20
Enter value of b: 2.45

After swapping, value of a = 2.45
After swapping, value of b = 1.2
10、C语言检查数值是奇数还是偶数

源代码:
/*C program to check whether a number entered by user is even or odd. */

#include <stdio.h>
int main(){
      int num;
      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);
      else
           printf("%d is odd.",num);
      return 0;
}
输出1:
Enter an integer you want to check: 25
25 is odd.
输出2:
Enter an integer you want to check: 12
12 is even.
也可以用条件运算符解决:
/* C program to check whether an integer is odd or even using conditional operator */

#include <stdio.h>
int main(){
    int num;
    printf("Enter an integer you want to check: ");
    scanf("%d",&num);
    ((num%2)==0) ? printf("%d is even.",num) : printf("%d is odd.",num);
    return 0;
}
11、C语言检查是元音还是辅音

源代码:
#include <stdio.h>
int main(){
  char c;
  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);
  else
       printf("%c is a consonant.",c);
  return 0;
}
输出1:
Enter an alphabet: i
i is a vowel.
输出2:
Enter an alphabet: G
G is a consonant.
也可以用条件运算符解决
/* C program to check whether a character is vowel or consonant using conditional operator */

#include <stdio.h>
int main(){
char c;
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);
  return 0;
}
输出结果和上面的程序相同。

12、C语言实现从三个数值中查找最大值

实现1:
/* C program to find largest number using if statement only */

#include <stdio.h>
int main(){
      float a, 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);
      return 0;
}
实现2:
/* C program to find largest number using if...else statement */

#include <stdio.h>
int main(){
      float a, b, c;
      printf("Enter three numbers: ");
      scanf("%f %f %f", &a, &b, &c);
      if (a>=b)
      {
          if(a>=c)
            printf("Largest number = %.2f",a);
          else
            printf("Largest number = %.2f",c);
      }
      else
      {
          if(b>=c)
            printf("Largest number = %.2f",b);
          else
            printf("Largest number = %.2f",c);
      }
      return 0;
}
实现3:
/* C Program to find largest number using nested if...else statement */

#include <stdio.h>
int main(){
      float a, b, c;
      printf("Enter three numbers: ");
      scanf("%f %f %f", &a, &b, &c);
      if(a>=b && a>=c)
         printf("Largest number = %.2f", a);
      else if(b>=a && b>=c)
         printf("Largest number = %.2f", b);
      else
         printf("Largest number = %.2f", c);
      return 0;
}
输出结果相同:
Enter three numbers: 12.2
13.452
10.193
Largest number = 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.*/
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

作者: acdd112    时间: 2015-11-12 13:12
楼主辛苦 支持一下
作者: cbl16888    时间: 2015-11-12 22:17
来取经了,谢谢
作者: 陌忆    时间: 2015-11-12 22:37
感觉没什么用啊
作者: cc_2436    时间: 2015-11-12 22:41
楼主码字也不容易 支持下
作者: heima73924130    时间: 2015-11-12 22:44
赞一个!!!!!!
作者: liuchuan_alex    时间: 2015-11-12 22:53
纯英文,表示很牛C
作者: 18537947462    时间: 2015-11-13 22:13
先顶一下,再看
作者: 沐小妖mavs    时间: 2015-11-13 23:02
谢谢啦  先收藏起来
作者: 能不能行    时间: 2015-11-14 22:16
如果楼主是手敲的代码那就厉害了.这键盘得敲一会




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2