西北农林科技大学NWAFU-OJ习题合集一

点个关注不迷路~

如果有错误请留言,会及时答复的~

问题 A: C语言实习题一——1.简单程序设计

#include <stdio.h> // 引入标准输入输出库

int main( ) // 主函数,程序的入口
{
    printf ("Happy New Year!\n"); // 输出 "Happy New Year!" 并换行
    return 0; // 返回0,表示程序正常结束
}

问题 B: C语言实习题一——2.简单计算

#include <stdio.h> // 引入标准输入输出库

int main() // 主函数,程序的入口
{ 
    float a, b, h, c, j, s; // 定义浮点型变量a、b、h、c、j、s
    
    scanf("%f%f", &a, &b); // 从标准输入读取两个浮点数并赋值给a和b
    
    h = a + b; // 计算a和b的和,并将结果赋值给h
    c = a - b; // 计算a和b的差,并将结果赋值给c
    j = a * b; // 计算a和b的积,并将结果赋值给j
    s = a / b; // 计算a除以b的商,并将结果赋值给s
    
    printf("和=%f,差=%f,积=%f,商=%f
",h,c,j,s); // 将h、c、j、s的值按照指定格式输出到标准输出
   
    return 0; // 返回0,表示程序正常结束
}

问题 C: C语言实习题一——3.计算梯形面积

#include <stdio.h> // 引入标准输入输出库

int main() // 主函数,程序的入口
{ 
    float supline,dowline,high,area; // 定义浮点型变量supline、dowline、high、area
    
    scanf("%f",&supline); // 从标准输入读取一个浮点数并赋值给supline
    scanf("%f",&dowline); // 从标准输入读取一个浮点数并赋值给dowline
    scanf("%f",&high); // 从标准输入读取一个浮点数并赋值给high
		
    area = ((supline+dowline)*high)/2.0; // 计算梯形面积公式:((上底+下底)*高)/2
		
    printf("%f\n",area); // 将计算得到的梯形面积输出到标准输出
   	return 0; // 返回0,表示程序正常结束
}

问题 D: C语言实习题一——4.输出字符对应的ASCII码

#include <stdio.h> // 引入标准输入输出库
int main() // 主函数,程序的入口
{ 
    char c; // 定义一个字符变量c
    
    scanf("%c",&c); // 从标准输入读取一个字符并赋值给c
		
    printf("%d\n",c); // 将字符c转换为整数并输出到标准输出
   	return 0; // 返回0,表示程序正常结束
}

问题 E: C语言实习题一——5.数据类型长度测试

#include <stdio.h> // 引入标准输入输出库
int main() // 主函数,程序的入口
{ 
    char a=1; // 定义一个字符变量a并赋值为1
    short b=2; // 定义一个短整型变量b并赋值为2
    int c=4; // 定义一个整型变量c并赋值为4
    long d=8; // 定义一个长整型变量d并赋值为8
    int e=4; // 定义一个整型变量e并赋值为4
    int f=8; // 定义一个整型变量f并赋值为8

    printf("size of char=%d\n",a); // 输出字符变量a的大小
    printf("size of short=%d\n",b); // 输出短整型变量b的大小
    printf("size of int=%d\n",c); // 输出整型变量c的大小
    printf("size of long int=%d\n",d); // 输出长整型变量d的大小
    printf("size of float=%d\n",e); // 输出浮点型变量e的大小
    printf("size of double=%d\n",f); // 输出双精度浮点型变量f的大小
   	return 0; // 返回0,表示程序正常结束
}

问题 F: C语言实习题二——1.成绩判断

#include <stdio.h> // 引入标准输入输出库
int main() // 主函数,程序的入口
{ 
    float mark; // 定义一个浮点型变量mark用于存储分数

    scanf("%f",&mark); // 从标准输入读取一个浮点数并赋值给mark
    if (mark<60) // 如果分数小于60
        printf("Fail\n"); // 输出"Fail"
    else // 否则
        printf("Pass\n"); // 输出"Pass"
        
   return 0; // 返回0,表示程序正常结束
}

 问题 G: C语言实习题二——2.字符转换

#include <stdio.h> // 引入标准输入输出库

int main() {
    char ch; // 定义一个字符变量ch用于存储输入的字符
    ch = getchar(); // 从标准输入读取一个字符并赋值给ch

    if (ch >= 65 && ch <= 90) { // 如果字符是大写字母
        printf("%c\n", ch + 32); // 将字符转换为小写字母并输出
    }
    else if (ch >= 97 && ch <= 122) { // 如果字符是小写字母
        printf("%c\n", ch - 32); // 将字符转换为大写字母并输出
    }
    else { // 如果字符不是字母
        printf("%c\n", ch); // 直接输出字符
    }

    return 0; // 返回0,表示程序正常结束
}

问题 H: C语言实习题二——3.利用海伦公式求三角形面积

#include<stdio.h> // 引入标准输入输出库
#include<math.h> // 引入数学库

int main() // 主函数
{
    float a,b,c; // 定义三个浮点数变量a、b、c
    float p,area; // 定义两个浮点数变量p、area

    scanf("%f%f%f",&a,&b,&c); // 从标准输入读取三个浮点数并赋值给a、b、c

    p=(a+b+c)*0.5; // 计算半周长

    if(a+b>c&&a+c>b&&b+c>a) // 判断是否能组成三角形
    {
        area=sqrt(p*(p-a)*(p-b)*(p-c)); // 计算三角形面积
        printf("三角形的面积是:%f\n",area); // 输出三角形面积
    }
    else{
        printf("这3个数无法组成三角形!\n"); // 输出无法组成三角形的提示信息
    }

    return 0; // 返回0,表示程序正常结束
}

问题 I: C语言实习题二——4.判断是否能构成一个三角形

#include<stdio.h> // 引入标准输入输出库

int main() // 主函数
{
    float a, b, c; // 定义三个浮点数变量a、b、c
    scanf("%f%f%f", &a, &b, &c); // 从标准输入读取三个浮点数并赋值给a、b、c

    // 判断是否满足三角形的条件:任意两边之和大于第三边,且三边都大于0
    if (a > 0 && b > 0 && c > 0 && a + b > c && a + c > b && b + c > a)
        printf("Yes\n"); // 如果满足条件,输出"Yes"
    else
        printf("No\n"); // 如果不满足条件,输出"No"

    return 0; // 返回0,表示程序正常结束
}

问题 J: C语言实习题二——5.按从大到小排序三个数 

#include<stdio.h> // 引入标准输入输出库
int main() // 主函数
{
    int a, b, c; // 定义三个整型变量a、b、c
    int t; // 定义一个整型变量t,用于交换值
    scanf("%d%d%d", &a, &b, &c); // 从标准输入读取三个整数并赋值给a、b、c

    printf("排序前:%d, %d, %d\n", a, b, c); // 输出排序前的a、b、c的值

    // 使用冒泡排序算法对a、b、c进行排序
    if (a < b)
    {
        t = a; // 将a的值赋给t
        a = b; // 将b的值赋给a
        b = t; // 将t的值赋给b
    }

    if (a < c)
    {
        t = a; // 将a的值赋给t
        a = c; // 将c的值赋给a
        c = t; // 将t的值赋给c
    }

    if (b < c)
    {
        t = b; // 将b的值赋给t
        b = c; // 将c的值赋给b
        c = t; // 将t的值赋给c
    }

    printf("排序后:%d, %d, %d\n", a, b, c); // 输出排序后的a、b、c的值
    return 0; // 返回0,表示程序正常结束
}

问题 K: C语言实习题三——1.数据统计

#include <stdio.h> // 引入标准输入输出库
#include <string.h> // 引入字符串处理库
#include <stdlib.h> // 引入动态内存分配库

int main() // 主函数
{
    int n; // 定义整数变量n
    scanf("%d",&n); // 从标准输入读取一个整数并赋值给n
    int *arr=(int *)malloc(sizeof(int)*n); // 动态分配n个整数的内存空间,并将指针赋值给arr
    int i; // 定义整数变量i
    for(i=0;i<n;i++) // 循环n次
    {
        scanf("%d",&arr[i]); // 从标准输入读取一个整数并赋值给arr的第i个元素
    }
    int sum_1=0,sum_2=0,count_1=0,count_2=0; // 定义四个整数变量,分别用于存储奇数和偶数的和以及个数
    for(i=0;i<n;i++) // 循环n次
    {
        if(arr[i]%2!=0) // 如果arr的第i个元素是奇数
        {
            sum_1+=arr[i]; // 将arr的第i个元素加到sum_1上
            count_1++; // 奇数个数加1
        }
        if(arr[i]%2==0) // 如果arr的第i个元素是偶数
        {
            sum_2+=arr[i]; // 将arr的第i个元素加到sum_2上
            count_2++; // 偶数个数加1
        }
    }
    printf("%d\n",sum_1); // 输出奇数和
    printf("%d\n",count_1); // 输出奇数个数
    printf("%d\n",sum_2); // 输出偶数和
    printf("%d",count_2); // 输出偶数个数
    free(arr); // 释放动态分配的内存空间

    return 0; // 返回0,表示程序正常结束
}

问题 L: C语言实习题三——2.爱因斯坦阶梯问题

#include<stdio.h> // 引入标准输入输出库
int main() // 主函数
{
    int x=1; // 定义整数变量x并初始化为1
    while(1) // 无限循环
    {
        if(x%2==1&&x%3==2&&x%5==4&&x%6==5&&x%7==0) // 判断x是否满足条件
            break; // 如果满足条件,跳出循环
        else
            x=x+1; // 如果不满足条件,x加1
    }
  
    printf("%d\n",x); // 输出x的值
  
    return 0; // 返回0,表示程序正常结束
}

问题 M: C语言实习题三——3.猴子吃桃问题

#include<stdio.h> // 引入标准输入输出库
int main() // 主函数
{
     int N; // 定义整数变量N
     scanf("%d",&N); // 从标准输入读取一个整数并赋值给N
  
     int x=1; // 定义整数变量x并初始化为1
     int i=1; // 定义整数变量i并初始化为1
     while(i<N) // 当i小于N时执行循环
     {
          x=2*(x+1); // 计算2*(x+1)的值并赋值给x
          i++; // i自增1
     }
 
     printf("%d\n",x); // 输出x的值
 
     return 0; // 返回0,表示程序正常结束
}

问题 N: C语言实习题三——4.求两个数的最大公约数和最小公倍数

#include <stdio.h>

int main() {
    int a, b; // 定义两个整数变量a和b
    scanf("%d%d", &a, &b); // 从标准输入读取两个整数并赋值给a和b
    int Div = 0; // 定义一个整数变量Div,用于存储最大公约数
    int Multi = a * b; // 定义一个整数变量Multi,用于存储a和b的乘积
    int rem = 0; // 定义一个整数变量rem,用于存储余数
    rem = a % b; // 计算a除以b的余数,并将结果赋值给rem
    while (rem) { // 当余数不为0时执行循环
        a = b; // 将b的值赋给a
        b = rem; // 将余数的值赋给b
        rem = a % b; // 计算新的a除以b的余数,并将结果赋值给rem
    }
    Div = b; // 将b的值赋给Div,即得到最大公约数
    Multi /= Div; // 将Multi除以Div,得到简化后的乘积

    printf("%d\n", Div); // 输出最大公约数
    printf("%d\n", Multi); // 输出简化后的乘积

    return 0; // 返回0,表示程序正常结束
}

问题 O: C语言实习题三——5.图形输出

#include<stdio.h> // 引入标准输入输出库
int main() // 主函数
{
     int n; // 定义整型变量n
     char ch; // 定义字符型变量ch
   
     scanf("%c",&ch); // 从标准输入读取一个字符并赋值给ch
     scanf("%d",&n); // 从标准输入读取一个整数并赋值给n
  
     for(int i=0;i<n;i++){ // 外层循环,控制行数
         for(int j=n-i-1;j>0;j--) // 内层循环,控制每行前面的空格数
         {
              printf("%c", ' '); // 输出空格
         }
         for(int k=2*(i)+1;k>0;k--) // 内层循环,控制每行的字符数
         {
              printf("%c", ch); // 输出字符
         }
  
         printf("\n"); // 换行
  
     }
     return 0; // 返回0,表示程序正常结束
}

 问题 P: C语言实习题四——1.字符串连接

#include<stdio.h> // 引入标准输入输出库
int main()
{
    char arr1[10],arr2[10]; // 定义两个字符数组,用于存储输入的字符串
    fgets(arr1,10,stdin); // 从标准输入读取一行字符串,存储到arr1中
    fgets(arr2,10,stdin); // 从标准输入读取另一行字符串,存储到arr2中

    int i=0; // 初始化变量i为0,用于遍历arr1
    while(arr1[i]!='\0') // 当arr1的第i个字符不为空字符时,执行循环体
    {
        i++; // i自增1
    }
    int j=0; // 初始化变量j为0,用于遍历arr2
    while(arr2[j]!='\0') // 当arr2的第j个字符不为空字符时,执行循环体
    {
        j++; // j自增1
    }
    int m; // 定义变量m,用于循环计数
    for(m=0;m<j;m++) // 当m小于j时,执行循环体
    {
        arr1[i-1]=arr2[m]; // 将arr2的第m个字符赋值给arr1的第i-1个字符
        i++; // i自增1
    }

    puts(arr1); // 输出arr1中的字符串
    return 0; // 返回0,表示程序正常结束
}

问题 Q: C语言实习题四——2.简单加密程序

#include<stdio.h>
#include<string.h>
int main()
{
     char arr[100];
     fgets(arr, 100, stdin); // 从标准输入读取一行字符串,存储到arr中
   
     int sz=strlen(arr)/sizeof(arr[0]); // 计算字符串长度
     for(int  i=0;i<sz;i++) // 遍历字符串中的每个字符
     {
   
          if((arr[i]>='a'&&arr[i]<='x')||(arr[i]>='A'&&arr[i]<='X')) // 如果字符是小写字母或大写字母
              arr[i]=arr[i]+2; // 将字符的ASCII码值加2
          else  if((arr[i]>='y'&&arr[i]<='z')||(arr[i]>='Y'&&arr[i]<='Z')) // 如果字符是小写字母或大写字母
              arr[i]=arr[i]-24; // 将字符的ASCII码值减24(即加上26)
     }
     puts(arr); // 输出处理后的字符串
  
     return 0;
}

问题 R: C语言实习题四——3.矩阵对角线元素求和

#include<stdio.h>

int main()
{
     int a[5][5]; // 定义一个5x5的二维数组a
     int i,j;
     for(i=0;i<5;i++) // 遍历数组a的每一行
         for(j=0;j<5;j++) // 遍历数组a的每一列
         {
             scanf("%d",&a[i][j]); // 从标准输入读取一个整数,并将其赋值给数组a的第i行第j列的元素
         }
     int m,n;
     m=a[0][0]+a[1][1]+a[2][2]+a[3][3]+a[4][4]; // 计算数组a的主对角线元素之和,并将结果赋值给变量m
     n=a[0][4]+a[1][3]+a[2][2]+a[3][1]+a[4][0]; // 计算数组a的副对角线元素之和,并将结果赋值给变量n
     printf("%d %d\n",m,n); // 输出变量m和n的值,中间用空格分隔
     return 0; // 返回0,表示程序正常结束
}

问题 S: C语言实习题四——4.数据顺序调整

#include <stdio.h>
int main()
{
    int a[10]; // 定义一个长度为10的整型数组a
    int i;
    for(i=0;i<10;i++){ // 循环10次,用于输入数组a的元素
        scanf("%d",&a[i]);
    }
    int x=0; // 定义一个整型变量x,用于记录最大值的索引
    int max=a[0]; // 将数组a的第一个元素赋值给max,作为初始的最大值
    for(i=1;i<10;i++){ // 循环9次,从第二个元素开始比较
        if(a[i]>max){ // 如果当前元素大于max
            max=a[i]; // 更新最大值
            x=i; // 更新最大值的索引
        }
    }
    int m=a[0]; // 定义一个整型变量m,用于交换最大值和第一个元素的位置
    a[0]=a[x]; // 将最大值与第一个元素交换位置
    a[x]=m;
     
    int y=9; // 定义一个整型变量y,用于记录最小值的索引
    int min=a[9]; // 将数组a的最后一个元素赋值给min,作为初始的最小值
    for(i=1;i<9;i++){ // 循环8次,从第二个元素开始比较
        if(a[i]<min){ // 如果当前元素小于min
            min=a[i]; // 更新最小值
            y=i; // 更新最小值的索引
        }
    }
    int n=a[9]; // 定义一个整型变量n,用于交换最小值和最后一个元素的位置
    a[9]=a[y]; // 将最小值与最后一个元素交换位置
    a[y]=n;
    // 输出排序后的数组a
    for(i=0;i<10;i++){
        printf("%d",a[i]);
        if(i==9){
            break;
        }
        printf(" ");
    }
    return 0;
}

问题 T: C语言实习题四——5.字符个数统计

#include<stdio.h> // 引入标准输入输出库
#include<string.h> // 引入字符串处理库
int main()
{
    char arr[100]={0}; // 定义一个字符数组,用于存储输入的字符串
    fgets(arr,100,stdin); // 从标准输入读取一行字符串,存储到字符数组中
    int sz=0; // 定义一个整型变量,用于存储字符串的长度
    sz=strlen(arr)/sizeof(arr[0]); // 计算字符串的长度,除以每个字符的大小(字节),得到字符个数
    //fgets(arr,100,stdin); 
    int a=0,b=0,c=0,d=0; // 定义四个整型变量,分别用于计数英文字母、数字和其他字符的数量
    for(int i=0;i<sz;i++) // 遍历字符串中的每个字符
    {
         if(arr[i]>='a'&&arr[i]<='z') // 如果字符是小写英文字母
         {
             a++; // 英文字母数量加一
         }
         else  if(arr[i]>='A'&&arr[i]<='Z') // 如果字符是大写英文字母
         {
             b++; // 英文字母数量加一
         }
         else  if(arr[i]>='0'&&arr[i]<='9') // 如果字符是数字
         {
             c++; // 数字数量加一
         }
         else // 如果字符既不是英文字母也不是数字
         {
             d++; // 其他字符数量加一
         }
    }
    d=d-1; // 最后减去一个换行符,因为fgets函数会在字符串末尾添加一个换行符
    printf("%d %d %d %d\n",a,b,c,d); // 输出英文字母、数字和其他字符的数量
  
    return 0; // 程序正常结束,返回0
}

问题 U: C语言实习题四——6.姓名排序

#include<stdio.h>
#include<string.h>
  
int main()
{
    char s[10][100]={0}; // 定义一个二维字符数组,用于存储输入的字符串
    for(int i=0;i<10;i++) // 循环10次,读取10行输入
    {
         fgets(s[i],10,stdin); // 使用fgets函数读取一行输入,存储到s[i]中
    }
  
    for(int i=0;i<10;i++) // 外层循环10次,对每一行进行冒泡排序
    {
        for(int j=0;j<9;j++) // 内层循环9次,比较相邻的两个字符串
        {
            if(strcmp(s[j],s[j+1])>0) // 如果前一个字符串大于后一个字符串
            {
                 char t[100]; // 定义一个临时字符数组,用于交换两个字符串
                 strcpy(t,s[j]); // 将前一个字符串复制到临时数组中
                 strcpy(s[j],s[j+1]); // 将后一个字符串复制到前一个字符串的位置
                 strcpy(s[j+1],t); // 将临时数组中的字符串复制到后一个字符串的位置
            }
         }
     }
  
     for(int m=0;m<10;m++) // 循环10次,输出排序后的字符串
     {
          printf("%s", s[m]);
     }

     return 0;
}

问题 V: C语言实习题四——7.输出杨辉三角形

#include<stdio.h>
int main()
{
     int a[100][100]={0}; // 定义一个100x100的二维数组a,并初始化为0
     int n;
     scanf("%d",&n); // 从标准输入读取一个整数n
     for(int i=0;i<n;i++) // 循环n次
     {
         a[i][i]=1; // 将a[i][i]赋值为1
         a[i][0]=1; // 将a[i][0]赋值为1
     }
     for(int i=2;i<n;i++) // 循环从2到n-1次
     {
         for(int j=0;j<i;j++) // 循环从0到i-1次
         {
             a[i][j]=a[i-1][j-1]+a[i-1][j]; // 根据递推公式计算a[i][j]的值
         }
     }
     for(int i=0;i<n;i++) // 循环n次
     {
         for(int j=0;j-1<i;j++) // 循环从0到i-1次
         {
             printf("%d ",a[i][j]); // 输出a[i][j]的值
         }
  
         printf("\n"); // 换行
     }
  
     return 0;
}

问题 W: C语言实习题五——1.用指针实现排序

#include <stdio.h>
int main()
{
    // 定义一个长度为10的整型数组a
    int a[10];
    int i,j,*p,*q,t;
    // 从键盘输入10个整数,存储到数组a中
    for(i=0;i<10;i++){
        scanf("%d",&a[i]);
    }
    // 使用冒泡排序算法对数组a进行升序排序
    for(i=0;i<9;i++){
        p=a+i; // p指向当前待比较的元素
        for(q=p+1;q<a+10;q++){ // q指向后面的元素
            if(*p>*q){ // 如果当前元素大于后面的元素
                t=*q; // 交换两个元素的位置
                *q=*p;
                *p=t;
            }
        }
    }
    // 输出排序后的数组a
    for(i=0;i<10;i++){
        printf("%d",a[i]);
        if(i==9){
            break;
        }
        printf(" ");
    }
    return 0;
}

问题 X: C语言实习题五——2.用指针实现字符串排序

#include<stdio.h>
#include<string.h>
int main()
{
    // 定义一个二维字符数组a,用于存储输入的字符串
    char a[10][20];
    // 定义一个一维字符指针数组b,用于存储字符串的地址
    char* b[10];

    // 使用循环获取用户输入的字符串,并将其存储到数组a中
    for(int i=0;i<10;i++)
    {
        gets(a[i]);
        b[i]=a[i];
    }

    // 使用冒泡排序算法对字符串进行排序
    for(int i=0;i<10;i++)
    {
        for(int j=0;j<9;j++)
        {
            // 比较相邻的两个字符串,如果前一个字符串大于后一个字符串,则交换它们的位置
            if(strcmp(b[j],b[j+1])>0)
            {
                char t[20];
                // 将前一个字符串复制到临时变量t中
                strcpy(t,b[j]);
                // 将后一个字符串复制到前一个字符串的位置
                strcpy(b[j],b[j+1]);
                // 将临时变量t中的字符串复制到后一个字符串的位置
                strcpy(b[j+1],t);
            }
        }
    }

    // 输出排序后的字符串
    for(int i=0;i<10;i++)
    {n
        printf("%s\n",b[i]);
    }

    return 0;
}

问题 Y: C语言实习题五——3.数据倒置

#include<stdio.h>
int main()
{
    // 定义一个长度为10的整型数组a
    int a[10];
    // 使用for循环,从键盘输入10个整数,存储到数组a中
    for(int i=0;i<10;i++)
    {
        scanf("%d",&a[i]);
    }

    // 定义两个指针p和q,分别指向数组a的第一个元素和最后一个元素的下一个位置
    int *p,*q;
    p=&a[0];
    q=&a[0]+9;
    // 使用for循环,交换数组a中的前5个元素和后5个元素的位置
    for(int i=0;i<5;i++)
    {
        // 定义一个临时变量t,用于存储p指向的元素的值
        int t=*p;
        // 将p指向的元素的值赋给q指向的元素
        *p=*q;
        // 将临时变量t的值赋给q指向的元素
        *q=t;
        // p向后移动一位
        p++;
        // q向前移动一位
        q--;
        // 如果q和p相等,说明已经交换了所有的元素,跳出循环
        if(q==p)
        {
            break;
        }
    }
    // 使用for循环,输出数组a的前9个元素
    for(int i=0;i<9;i++)
    {
        printf("%d ",a[i]);
        // 如果i等于8,说明已经输出了最后一个元素,跳出循环
        if(i==9)
        {
            break;
        }
    }

    // 输出数组a的第10个元素(即原数组的最后一个元素)
    printf("%d\n",a[9]);

    return 0;
}

问题 Z: C语言实习题五——4.用指针实现数据位置调整

#include <stdio.h>

int main() {
    // 定义一个长度为10的整型数组a,并初始化为0
    int a[10] = { 0 };
    // 从标准输入读取10个整数,存储到数组a中
    for (int i = 0; i < 10; i++) {
        scanf("%d", &a[i]);
    }
    // 定义两个指针max和min,分别指向数组a的第一个元素
    int* max = &a[0];
    int* min = &a[0];
    // 遍历数组a,找到最大值和最小值的指针
    for (int i = 1; i < 10; i++) {
        if (a[i] > *max) {
            max = &a[i];
        }
    }
    // 交换最大值和数组最后一个元素的位置
    int tmp = 0;
    tmp = *max;
    *max = *((int*)a + 9);
    *((int*)a + 9) = tmp;
    // 重新遍历数组a,找到最小值的指针
    for (int i = 1; i < 10; i++) {
        if (a[i] < *min) {
            min = &a[i];
        }
    }
    // 交换最小值和数组第一个元素的位置
    tmp = *min;
    *min = *((int*)a);
    *((int*)a) = tmp;

    // 输出排序后的数组a
    for (int i = 0; i < 10; i++) {
        printf("%d", a[i]);
        if (i != 9) {
            printf(" ");
        }
    }

    return 0;
}

  • 14
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值