语言10个数输出最大值whilr_C语言常考必背必会代码

一、冒泡排序法:

#include //输入输出函数的调用,必须写。

int main()               //定义主函数如下:

{

int i,j,t,n;         //i,j负责循环次数,t起到两个数调换顺序的中间数。

n=5;               //n表示你要排序的数的个数。

int a[10000];  //定义一个足够大的整形一维数组来填数。

  for(i=0;i

  scanf("%d",&a[i]);   //在该循环中输入你要排列的每个数的数值

  for(i=0;i

  {

   for (j=0;j

      {

      if(a[j]>a[j+1])

      {

    t=a[j];

    a[j]=a[j+1];

a[j+1]=t; 

  }  

    }

     }

for(i=0;i

printf("%d ",a[i]);     //套一个循环让你排完序的数值输出,注意这里%d后有一个空格,以免出现想输出2、3结果输出23的情况。

}

二,寻找最大值及其坐标

#include

int main()

{

int a[1000];    //定义一个足够大的一维整形数组 ; 

int max,max_coor,i;  //定义整型变量:最大值,最大值的坐标,以及一个用于循环的辅助变量; 

int n;  //定义该整型变量为你要输入的值个数; 

scanf("%d",&n);  //输入n的数值 

for(i=0;i

scanf("%d",&a[i]);  //在该循环中输入所有要输入的数值。 

max=a[0];  //重点步骤:要给最大值一个初值,建议如该程序一样赋值,如果赋值为0,而我输入的数值可能是一大堆负数,那么这个程序可能就不正确了。 

max_coor=0;  //定义最大值坐标为0. 

for(i=0;i

if(a[i]>max)

{                //注意要把if后面的多条语句括起来。 

max=a[i];

max_coor=i+1;  //加一是重点,因为i值从零开始取,而第几个数最大不能回答第零个而要回答第一个,所以要加一。 

}

printf("%d\n%d",max,max_coor);  //输出最大值,换行输出最大值坐标。 

 } //注:本题若有多个最大值,只输出第一个最大值的坐标。

三、关于指针

以指针变量之函数参数作返回值A  为例

a08e074997fbb9e5704677ecbc207aea.png

#include

void fun(int a, int b, int *sum, int *diff, int *product, float *divide) //在自己定义的函数中,要求输入整型变量a,b,以及指针变量*sum、*diff、*product、*divide 以表示求和,求差,求积,求商。 

{      //在这里补充说明,正常函数()内的变量和运用函数时输入的变量要一样才可以,但int *pa和 int a 中, pa和&a一一对应,故函数可以正常运行。*pa即改变了a的值 

*sum=a+b;  //改变了之后主函数sum的值 

*diff=a-b;  //改变了之后主函数diff的值 

*product=a*b;  //改变了之后主函数product的值 

*divide=((float)(a)/(float)(b));  //改变了之后主函数divide的值 ,注意,因为两个整型数a,b不能除出来一个浮点数*divide,要把a,b临时变为浮点数形式。 

}

int main()

{

int c,d,sum,diff,product;  //主函数中定义两个整数c,d,整型数:求和,差,积的变量; 

float divide;   //定义浮点数:求商。 

scanf("%d%d",&c,&d);  //输入c,d的值,这里的%d之间不用空格,因为你输入23电脑会默认你输入的是23而不是2和3。 

fun(c,d,&sum,&diff,&product,&divide);  //和之前定义的函数,函数对应变量要一一对应。 

printf("%d %d %d %.2f",sum,diff,product,divide);  //最后输出,注:%5.2f从左到右分别表示这个数占五位,保留点后两位小数,是一个浮点数 。 

}

四、关于字符串:

建议背下来#include 对应的几个字符串用的函数,以strlen函数为例(该函数可以确定输入的字符串的长度)讲一下如何运用。

以统计单词的平均长度 为例

bbed9c921ac6457ad09aee7434613f38.png

#include

#include  //将运用字符串函数。 

int main()

{

char s[1000];  //定义一个字符数组s。 

int num=0,sum=0;  //定义整型变量:单词个数,字母个数 初值均为0。 

float aver=0;  //定义浮点数:单词平均长度 

int i;  //定义一个用于循环的辅助变量i。 

gets(s);  //输入字符串。 

if(s[0]!=' ')  //单独讨论首字符是否为字母的情况。 

{

num++;  //是字母,单词数,字母数均加一。 

sum++;

}

for(i=1;i

{

if(s[i]>='a'&&s[i]<='z')sum++;  //如果对应位置为字母,字母数量加一 。 

if(s[i]>='A'&&s[i]<='Z')sum++;

if(s[i]==' '&&s[i+1]!=' ')num++;   //统计单词个数的方法,从第二个字符开始,只要空格后是字母,就加一。 

    }

i=strlen(s)-1;  //讨论最后一个字符是否为字母 

if(s[i]!=' ')

{

sum++;   //是字母,字母数加一。 

}

if(num==0)aver=0;  //若单词数为0,因为除数不能为0,单独提出。 

else aver=((float)(sum)/(float)(num));

printf("%d %.2f %d",sum,aver,num);  //输出字母总数,单词平均长度(点后两位),单词个数。 

 } 

本次推送只暂时讲述这些内容,希望对大家有用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值