21xrx.com
2025-03-29 00:29:29 Saturday
文章检索 我的文章 写文章
C语言编程例题及解析
2023-06-16 10:50:02 深夜i     16     0
C语言 素数 循环

C语言是一种通用的、面向过程的计算机编程语言。因其简洁、高效、功能强大而广泛应用于系统软件、驱动、嵌入式系统等领域。但对于初学者而言,C语言的语法、控制流、函数等内容会显得比较复杂,因此例题演练是巩固和提高C语言编程的有效方法。

下面我们列举了一些C语言编程例题及解析,希望对大家的C语言学习有所帮助:

1.求解n以内的素数(质数):

代码实现:

#include
void main(){
  int n;
  printf("请输入要求解的素数最大值:");
  scanf("%d",&n);
  printf("2,");
  for(int i=3;i<=n;i++){
    int flag=1;
    for(int j=2;j
      if(i%j==0)
        flag=0;
        break;
      
    }
    if(flag==1){
      printf("%d,",i);
    }
  }
}

解析:

首先,素数是指只能被1和自身整除的正整数,比如2,3,5,7,11,13…… 我们可以通过枚举2~n之间的每个数字,判断其是否为素数,最后输出所有素数。

在上面的代码中,我们使用两重循环实现:

外层循环依次枚举2~n之间的每个数字

内层循环依次判断这个数字是否可以被2~这个数字本身-1之间的任何一个数字整除,如果能整除,则不是素数,退出内层循环。

最后,我们用flag来保存这个数字是否是素数,如果flag=1,就输出这个数字。

2.倒序输出字符串:

代码实现:

#include
#include
void main(){
  char str[100];
  printf("请输入一个字符串:");
  gets(str); //输入字符串,也可以用scanf("%s",str);
  int len=strlen(str);
  printf("倒序输出该字符串为:");
  for(int i=len-1;i>=0;i--){
    printf("%c",str[i]);
  }
}

解析:

我们可以定义一个字符型数组,输入一个字符串,利用字符串库中的strlen函数计算该字符串的长度,然后从尾到头依次输出每个字符。

需要注意的是,输入字符串时,gets函数可以读取一整行字符串,包括空格和换行符;而scanf("%s",str)只能读取到第一个空格为止。

关键词:C语言,字符串,gets函数,strlen函数

3.交换两个变量的值:

代码实现:

#include
void swap(int *a,int *b){
  int temp=*a;
  *a=*b;
  *b=temp;
}
void main(){
  int a=2,b=3;
  printf("交换前a=%d,b=%d\n",a,b);
  swap(&a,&b);
  printf("交换后a=%d,b=%d\n",a,b);
}

解析:

交换两个变量的值,经常使用到,可以使用中间变量实现,也可以使用函数传递指针实现。

上面的代码是使用函数传递指针实现的。swap函数中,a和b是指针变量,指向main函数中定义的变量a和b的地址。函数体中,我们利用中间变量temp交换a和b的值,最后,a和b的值已经被交换。

关键词:C语言,交换变量,指针

  
  

评论区