微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 为什么说算法是一个程序和软件的灵魂

为什么说算法是一个程序和软件的灵魂

时间:09-10 来源:电子工程专辑 点击:

结果输出:

Enter operator either + or - or * or divide : -Enter two operands: 3.48.43.4 - 8.4 = -5.0

6、检查一个数能不能表示成两个质数之和

源代码:

#include int prime(int n);int main(){    int n, i, flag=0;    printf("Enter a positive integer: ");    scanf("%d",&n);    for(i=2; i<=n/2; ++i)    {        if (prime(i)!=0)        {            if ( prime(n-i)!=0)            {                printf("%d = %d + %d\n", n, i, n-i);                flag=1;            }         }    }    if (flag==0)      printf("%d can't be expressed as sum of two prime numbers.",n);    return 0;}int prime(int n)      /* Function to check prime number */{    int i, flag=1;    for(i=2; i<=n/2; ++i)       if(n%i==0)          flag=0;    return flag;}

结果输出:

Enter a positive integer: 3434 = 3 + 3134 = 5 + 2934 = 11 + 2334 = 17 + 17

7、用递归的方式颠倒字符串

源代码:

/* Example to reverse a sentence entered by user without using strings. */ #include void Reverse();int main(){    printf("Enter a sentence: ");    Reverse();    return 0;}void Reverse(){    char c;    scanf("%c",&c);    if( c != '\n')    {        Reverse();        printf("%c",c);    }}

结果输出:

Enter a sentence: margorp emosewaawesome program

8、实现二进制与十进制之间的相互转换

/* C programming source code to convert either binary to decimal or decimal to binary according to data entered by user. */ #include #include int binary_decimal(int n);int decimal_binary(int n);int main(){   int n;   char c;   printf("Instructions:\n");   printf("1. Enter alphabet 'd' to convert binary to decimal.\n");   printf("2. Enter alphabet 'b' to convert decimal to binary.\n");   scanf("%c",&c);   if (c =='d' || c == 'D')   {       printf("Enter a binary number: ");       scanf("%d", &n);       printf("%d in binary = %d in decimal", n, binary_decimal(n));   }   if (c =='b' || c == 'B')   {       printf("Enter a decimal number: ");       scanf("%d", &n);       printf("%d in decimal = %d in binary", n, decimal_binary(n));   }   return 0;} int decimal_binary(int n)  /* Function to convert decimal to binary.*/{    int rem, i=1, binary=0;    while (n!=0)    {        rem=n%2;        n/=2;        binary+=rem*i;        i*=10;    }    return binary;} int binary_decimal(int n) /* Function to convert binary to decimal.*/ {    int decimal=0, i=0, rem;    while (n!=0)    {        rem = n%10;        n/=10;        decimal += rem*pow(2,i);        ++i;    }    return decimal;}

结果输出:

9、使用多维数组实现两个矩阵的相加

源代码:

#include int main(){    int r,c,a[100][100],b[100][100],sum[100][100],i,j;    printf("Enter number of rows (between 1 and 100): ");    scanf("%d",&r);    printf("Enter number of columns (between 1 and 100): ");    scanf("%d",&c);    printf("\nEnter elements of 1st matrix:\n"); /* Storing elements of first matrix entered by user. */     for(i=0;i	

结果输出:

10、矩阵转置

源代码:

#include int main(){    int a[10][10], trans[10][10], r, c, i, j;    printf("Enter rows and column of matrix: ");    scanf("%d %d", &r, &c); /* Storing element of matrix entered by user in array a[][]. */    printf("\nEnter elements of matrix:\n");    for(i=0; i	

结果输出:

 

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top