C 语言的一些经典题目

来源:互联网 发布:网络搭建移动网络 编辑:程序博客网 时间:2024/05/18 00:39

1.求两个数的最大值


#include <stdio.h>#include <stdlib.h>main(){      int a,b,c;      int max(int x,int y);      printf("请输入要比较的两个数 !\n");      scanf("%d %d",&a,&b);       c=max(a,b);      printf("要比较的两个数的最大值是:%d\n",c);      system("pause");}int max(int x,int y){int z;z=x>y?x:y;}

2.交换两个数的值


#include <stdio.h>#include <stdlib.h>main(){      int *a,*b;      int swap(int *x,int *y);      printf("请输入要交换的两个数 !\n");      scanf("%d %d",&a,&b);       printf("交换前的两个数为:%d %d\n",a,b);      swap(&a,&b);      printf("交换后的两个数为:%d %d\n",a,b);      system("pause");}int swap(int *x,int *y){int tmp;tmp=*x;*x=*y;*y=tmp;}
3.利用冒泡排序算法实现排序的功能


#include <stdio.h>#include <stdlib.h>#define MAX 10//利用冒泡排序法实现排序的功能 int a[MAX]; main(){      int i;      int  sort();      printf("请输入要利用冒泡排序法进行排序的数\n");      for(i=0;i<MAX;i++)         {          scanf("%d",&a[i]);                           }       printf("利用冒泡排序法进行排序前的数\n");       for(i=0;i<MAX;i++)       {         printf("%4d",a[i]);       }      printf("\n");      //调用冒泡排序函数       sort();      printf("利用冒泡排序法进行排序后的数\n");     for(i=0;i<MAX;i++)     {     printf("%4d",a[i]);     }      system("pause");      }int sort() {     int i,j,tmp;     for(i=0;i<=MAX-2;i++)     {       for(j=0;j<MAX-i-1;j++)       if(a[j]>a[j+1])       {         tmp=a[j];         a[j]=a[j+1];         a[j+1]=tmp;                             }                               }      }

4.利用选择排序的方法进行排序的实现


#include <stdio.h>#include <stdlib.h>#define MAX 10//利用选择排序法实现排序的功能 int a[MAX]; main(){      int i;      int  selectsort();      printf("请输入要利用选择排序法进行排序的数\n");      for(i=0;i<MAX;i++)         {          scanf("%d",&a[i]);                           }       printf("利用选择排序法进行排序前的数\n");       for(i=0;i<MAX;i++)       {         printf("%4d",a[i]);       }      printf("\n");      //调用选择排序函数       selectsort();      printf("利用选择排序法进行排序后的数\n");     for(i=0;i<MAX;i++)     {     printf("%4d",a[i]);     }      system("pause");      }int selectsort() {     int i,j,tmp,p;     for(i=0;i<MAX-1;i++)     {        p=i;       for(j=i+1;j<MAX;j++)       if(a[j]<a[p])       p=j;       if(p!=i)       {         tmp=a[p];         a[p]=a[i];         a[i]=tmp;                             }                               }      }


5.随机数加减法的问题

效果如图:


#include <stdlib.h>#include <stdio.h>#include <time.h>//使用当前时钟做种子void main( void ){int i,j,k,m,n;int add(int x,int y);int sub(int x,int y);int mul(int x,int y);int divis(int x,int y);srand((int)time(0));loop:j=1+(int)(10.0*rand()/(RAND_MAX+1.0));k=1+(int)(10.0*rand()/(RAND_MAX+1.0));printf("产生的随机数j=%d\tk=%d\n",j,k);  printf("请输入你想进行的操作:1、加法运算   2、减法运算  3.乘法运算   4、除法运算\n");scanf("%d",&m);switch(m){case 1:          printf("两个数的和是:");     add(j,k);      break;case 2:      printf("两个数的差是:");     if(j>k)     {     sub(j,k);      }else{              printf("减数小于被减数--Divide Overflow\n");              }             break;        case 3:          printf("两个数的积是:");     mul(j,k);      break;      case 4:          printf("两个数的商是:");     divis(j,k);      break;default:               printf("运算出错,出现异常!!");   break;}printf("你想继续进行操作么?1,继续 2、退出");scanf("%d",&i);switch(i){case 1:     goto loop;      break;case 2:     printf("成功退出!!");                  }system("pause");}     int add(int x,int y){       int z;      z=x+y;      printf("%d\n",z);      return 0;      }  int sub(int x,int y){       int z;      z=x-y;      printf("%d\n",z);      return 0;      } int mul(int x,int y){         int z;      z=x*y;      printf("%d\n",z);      return 0;        } int divis(int x,int y){         int z;      z=x/y;      printf("%d\n",z);      return 0;            } 


6.求N的阶乘的方法

运行结果:

#include<stdio.h>int main(){     int result=1,num;    printf("请输入要求的阶乘数\n");    scanf("%d",&num);    for(int i=1;i<=num;i++)       {          result=result*i;        }    printf("%d的阶乘是%d",num,result);    }



 

原创粉丝点击