C语言是计算机及其相关专业学生必修的语言。我在大一下学期就已经学习了。前段时间,我又将谭浩强编写的C程序设计,也就是我C语言学习的课本看了一遍,“温故而知新”,受益良多。于是就萌发了一个想法,想将C语言学习当中一些基础的代码做一个总结归纳,在总结的过程中不断学习和发现不足,也希望能够对正在学习C语言的朋友们一点帮助。

1. 打印100到200之间的素数

#include<stdio.h>
int main(){
  int i;
  for(i=100;i<=200;i++){
      int j;
        for(j=2;j<i;j++){
          if(i%j==0)
	    break;
         }
	  if(i == j)
	    printf("%d  ",i);
	}
  printf("\n");
}

2. 输出乘法口诀表

#include<stdio.h>
int main(){
  int i;
  for(i=1;i<=9;i++){
    int j;
    for(j=1;j<=i;j++){
      printf("%d*%d=%2d    ",i,j,i*j);
    }
  printf("\n");
  }
  return 0;
}

3. 判断1000年---2000年之间的闰年

#include<stdio.h>
int main(){
  int year;
  for(year=1000;year<=2000;year++){
    if((year%4==0 && year%100!=0) ||(year%400==0))
      printf("%d   ",year);
    }
  printf("\n");
  return 0;
}

4. 给定两个整形变量的值,将两个值的内容进行交换。

这里提供两种方法来进行交换,第一种为创建临时变量来进行交换,第二种是不创建临时变量而直接进行交换。

#include<stdio.h>
int main(){
  int a = 10;
  int b = 20;
  int tmp = a;
  a = b;
  b = tmp;
  printf("a = %d,b = %d\n",a,b);
  return 0;
}
#include<stdio.h>
int main(){
  int a = 10;
  int b = 20;
  a = a^b;
  b = a^b;
  a = a^b;
  printf("a = %d,b = %d\n",a,b);
  return 0;
}
5.求10个整数中最大值。
#include<stdio.h>
int main(){
  int arr[10]={0,1,2,3,4,5,6,7,8,9};
  int i;
  int max = arr[0];
  for(i=0;i<10;i++){
    if(arr[i]>max)
      max = arr[i];
    }
  printf("max = %d\n",max);
  return 0;
}

6.将三个数按从大到小输出。

这里提供两种方法。第一种是将两个数之间两两比较,判断是否需要交换位置;第二种方法是将交换函数封装起来,通过判断条件来选择是否进行调用,两种方法的核心本质是一样的,只不过第二种方法所需的代码量较少。

#include<stdio.h>
int main(){
  int a,b,c,tmp;
  printf("please enter values: ");
  scanf("%d %d %d",&a,&b,&c);
  if(a<b){
    tmp = a;
    a = b;
    b = tmp;
  }
  if(a<c){
    tmp = a;
    a = c;
    c = tmp;
  }
  if(b<c){
    tmp = b;
    b = c;
    c = tmp;
  }
  printf("the order is: %d,%d,%d\n",a,b,c);
  return 0;
}
#include<stdio.h>
void exchange(int *x,int *y){
  int tmp = *x;
  *x = *y;
  *y = tmp;
}
int main(){
  int a,b,c;
  printf("please enter values: ");
  scanf("%d %d %d",&a,&b,&c);
  if(a<b)
    exchange(&a,&b);
  if(a<c)
    exchange(&a,&c);
  if(b<c)
    exchange(&b,&c);
  printf("the order is:%d,%d,%d\n",a,b,c);
  return 0;
}

7.求两个数的最大公约数。

#include<stdio.h>
int main(){
  int a,b;
  printf("please enter values:");
  scanf("%d %d",&a,&b);
  while(a%b){
    int tmp = a%b;
    a = b;
    b = tmp;
  }
  printf("the max common divisor is %d\n",b);
  return 0;
}





更多推荐

C语言基础代码(1)