C语言题型汇总(题型3)--持更

C语言-题型汇总第三篇

题型1 赋值,比大小,ASCII表内问题,字符串函数
题型2 数学问题,几何图形,自定义函数(方法/子函数)
题型3 指针,结构体,链表,文件读写

其他篇地址:
题型1
题型2

8.使用指针
i)比较三个整数,并按照从大到小顺序输出。swap函数只能比较两个数

#include <stdio.h>
void swap(int* a,int* b){
   
        int temp;
        temp=*a;*a=*b;*b=temp;
}

int main(){
   
        int n1,n2,n3;
        int* number1=&n1;
        int* number2=&n2;
        int* number3=&n3;
        printf("first:");
        scanf("%d",&n1);
        printf("\n");
        printf("second:");
        scanf("%d",&n2);
        printf("\n");
        printf("third:");
        scanf("%d",&n3);
        printf("\n");
        if(*number1<*number2) swap(number1,number2);
        if(*number1<*number3) swap(number1,number3);
        if(*number2<*number3) swap(number2,number3);
        printf("%d,%d,%d\n",*number1,*number2,*number3);
}

ii)比较三个字符串。因为数组在某种程度上类似指针,所以数组在这里充当指针

#include<stdio.h>
#include<string.h>
void swap(char* s1,char*s2){
   
char temp[30];
strcpy(temp,s1);
strcpy(s1,s2);
strcpy(s2,temp);


}
int main(){
   
        char s1[30],s2[30],s3[30];
        /*scanf("%s",&s1);
        scanf("%s",&s2);
        scanf("%s",&s3);*/
        printf("输出三个字符串:\n");
        gets(s1);
        gets(s2);
        gets(s3);
        if(strcmp(s1,s2)<0){
   swap(s1,s2);}
        if(strcmp(s1,s3)<0){
   swap(s1,s3);}
        if(strcmp(s2,s3)<0){
   swap(s2,s3);}
printf("排序后:\n");
printf("s1=%s,s2=%s,s3=%s\n",s1,s2,s3);
        return 0;
        //用到冒泡排序c
}
#include<stdio.h>
void input(int* zahl){
   
printf("请输入十个整数:\n");
for(int i=0;i<10;i++){
   
        scanf("%d",&zahl[i]);}
}

int output(int* zahl){
   
printf("输出整数:\n");
for(int i=0;i<10;i++){
   
        printf("%d ",zahl[i]);}
printf("\n");
}

void calculate(int* zahl){
   
int min=zahl[0];
int max=zahl[0];
int k,j,temp;
for(int i=0;i<10;i++){
   
if(min>zahl[i]){
   min=zahl[i];k=i;}}
temp=zahl[0];zahl[0]=min;zahl[k]=temp;
for(int m=0;m<10;m++){
   
if(max<zahl[m]){
   max=zahl[m];j=m;}
}
temp=zahl[9];zahl[9]=max;zahl[j]=temp;
}
int main()
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值