必备Linux命令和C语言基础(lv1_练习2)

本文提供了一系列C语言编程练习题,包括解析三位数的组成、不使用额外变量交换两个数、大小写字母转换、三数排序及按升序输出等基础算法实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、输出一个三位数的个位、十位、百位;

  1/*================================================================
  2 *   Copyright (C) 2020 hqyj study demo file.
  3 *   
  4 *   文件名称:homework1.c
  5 *   创 建 者:一江叶影
  6 *   创建日期:2020年10月26日
  7 *   描    述:输出一个三位数的个位、十位、百位;
  8 *
  9 ================================================================*/
 10 
 11 
 12 #include <stdio.h>
 13 
 14 
 15 int main(int argc, char *argv[])
 16 {
 17     int num;
 18     printf("请输入三位数:");
 19     scanf(" %d",&num);
 20     int a,b,c;
 21     a=num/100;
 22     b=(num-a*100)/10;
 23     c=num-a*100-b*10;
 24     printf("%d的 百位=%d,十位=%d,个位=%d\n",num,a,b,c);
 25     
 26     
 27     return 0;
 28 }
 29 

2、不借助第三个变量,将两个数值交换;

  1 /*================================================================
  2 *   Copyright (C) 2020 hqyj study demo file.
  3 *   
  4 *   文件名称:test8.c
  5 *   创 建 者:一江叶影
  6 *   创建日期:2020年10月26日
  7 *   描    述:不借助第三个变量,将两个数值交换;
  8 *
  9 ================================================================*/
 10 
 11 
 12 #include <stdio.h>
 13 
 14 
 15 int main(int argc, char *argv[])
 16 {
 17     int x,y;
 18     printf("请输入两个数字:");
 19     scanf("%d %d",&x,&y);
 20     x=x-y;
 21     y=x+y;
 22     x=y-x;
 23     printf("x=%d,y=%d\n",x,y);
 24 
 25 
 26     return 0;
 27 }
 28 

##3、 用getchar和putchar函数实现字母的大小写转

  1 /*================================================================
  2 *   Copyright (C) 2020 hqyj study demo file.
  3 *   
  4 *   文件名称:homework3.c
  5 *   创 建 者:一江叶影
  6 *   创建日期:2020年10月26日
  7 *   描    述:用getchar和putchar函数实现字母的大小写转换;
  8 *
  9 ================================================================*/
 10 
 11 
 12 #include <stdio.h>
 13 
 14 
 15 int main(int argc, char *argv[])
 16 {
 17     char ch;
 18     printf("请输入你的字母:");
 19     ch=getchar();
 20     if(ch>='A'&&ch<='Z'){
 21         printf("%c的小写字母为:",ch);
 22         putchar(ch+' ');
 23         printf("\n");
 24     }
 25     else if(ch>='a'&&ch<='z'){
 26         printf("%c的大写字母为:",ch);
 27         putchar(ch-' ');
 28         printf("\n");
 29     }
 30     else{
 31         printf("%c不是大写或是小写字母\n",ch);
 32     }
 33 
 34 
 35     return 0;
 36 }
 37 

4、从终端输入三个整数,然后从小到大排列;

  1 /*================================================================
  2 *   Copyright (C) 2020 hqyj study demo file.
  3 *   
  4 *   文件名称:homework4.c
  5 *   创 建 者:一江叶影
  6 *   创建日期:2020年10月26日
  7 *   描    述:从终端输入三个整数,然后从小到大排列;
  8 *
  9 ================================================================*/
 10 
 11 
 12 #include <stdio.h>
 13 #define MAXSIZE 100
 14 
 15 void swap(int num[],int a,int b);
 16 
 17 void quick_sort(int num[],int low,int high){
 18     int key=num[low],l=low,r=high;
 19     printf("%d\n",key);
 20     while(l<r){
 21         while(num[r]>=key){
 22             r--;
 23         }
 24         while(num[l]<=key){
 25             l++;
 26         }
 27         swap(num,l,r);
 28     }
 29     swap(num,low,l);
 30     if(low>=high){
 31         return;
 32     }
 33     quick_sort(num,low,l-1);
 34     quick_sort(num,l-1,high);
 35 }
 36 
 37 void swap(int num[],int a,int b){
 38     int c;
 39     c=num[a];
 40     num[a]=num[b];
 41     num[b]=c;
 42 }
 43 
 44 int main(int argc, char *argv[])
 45 {
 46     int num[MAXSIZE];
 47     int x,i,n=20;
 48     //printf("请输入整数个数:");
 49     //scanf("%d",&n);
 50     for(i=0;i<n;i++){
 51     //  printf("请输入第%d整数:",i+1);
 52     //  scanf("%d",&x);
 53         num[i]=i;
 54     }
 55     quick_sort(num,0,n-1);
 56     for(i=0;i<n;i++){
 57         //printf("%d ",num[i]);
 58     }
 59     printf("\n");
 60     return 0;
 61 }
 62 

5、输入三个数按升序输出(使用条件语句)

  1 /*================================================================
  2 *   Copyright (C) 2020 hqyj study demo file.
  3 *   
  4 *   文件名称:homework5.c
  5 *   创 建 者:一江叶影
  6 *   创建日期:2020年10月26日
  7 *   描    述:输入三个数按升序输出(使用条件语句)
  8 *
  9 ================================================================*/
 10 
 11 
 12 #include <stdio.h>
 13 
 14 
 15 int main(int argc, char *argv[])
 16 {
 17     int a,b,c;
 18     printf("请输入三个数:");
 19     scanf("%d %d %d",&a,&b,&c);
 20     if(a>b){
 21         if(b>c){
 22             printf("%d ",c);
 23             if(a<b){
 24                 printf("%d ",a);
 25                 printf("%d ",b);
 26             }
 27             else{
 28                 printf("%d ",b );
 29                 printf("%d ",a);
 30             }
 31         }
 32         else{
 33             printf("%d ",b);
 34             if(a<c){
 35                 printf("%d ",a);
 36                 printf("%d ",c);
 37             }
 38             else{
 39                 printf("%d ",c);
 40                 printf("%d ",a);
 41             }
 42         }
 43     }
 44     else{
 45         if(a>c){
 46             printf("%d ",c);
 47             if(b<a){
 48                 printf("%d ",b);
 49                 printf("%d ",a);
 50             }
 51             else{
 52                 printf("%d ",a);
 53                 printf("%d ",b);
 54             }
 55         }
 56         else{
 57             printf("%d ",a);
 58             if(c<b){
 59                 printf("%d ",c);
 60                 printf("%d ",b);
 61             }
 62             else{
 63                 printf("%d ",b);
 64                 printf("%d ",c);
 65             }
 66         }
 67     }
 68     printf("\n");
 69     return 0;
 70 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值