Test-02

//
//  main.c
//  Test-02
//
//  Created by 刘佳斌 on 15/11/6.
//  Copyright © 2015年 刘佳斌. All rights reserved.
//

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main(int argc, const char * argv[]) {

#pragma mark   --打印三角形--
/*
    for(int i=1;i<5;i++){
        for (int j=1; j<=i; j++) {
            if (i==3&&j==2) {
                printf(" ");
            }
            else printf("*");
        }
        printf("\n");
    }
 */
    
#pragma mark   --找出用户输入的一串数中的最大数。
    //程序需要提示用户一个一个地输入。当用户输入0或负数时,程序必须显示出已输入的最大非负数。
/*
    int num = 0;
    int max = 0;
    for (int i=0; i<100; i++) {
        printf("请输入一个数字:\n");
        scanf("%d",&num);
        if (num>max) {
            max=num;
        }
        if (num<=0) {
            printf("目前为止最大的非负数为:%d\n",max);break;//要用一个break函数跳出程序
        }
    }
    
  */
 
#pragma mark   --求S(n)
    //求S(n) = a+aa+aaa+aaaa+...+aa..a之值,其中a是一个数字,n表示a的位数例如:2+22+222+2222+22222(此时n=5),n和a都从键盘输入。
  /*
    int a;
    int n;
    int sum=0;
    int sum1=0;
    printf("请输入一个数字:\n");
    scanf("%d",&a);
    printf("请输入数字的位数:\n");
    scanf("%d",&n);
    
    for (int i=0; i<n; i++) {
        sum=sum*10+a;
        sum1=sum1+sum;
    }
    
    printf("S(n)=%d\n",sum1);
 
  */
 

    

    
#pragma mark  --给一个数组,求出有多少个元素
    /*
    int num[]={1,2,3,4,5,6,7};
    printf("%lu\n",sizeof(num));  //%lu  长整形无符号
    printf("%lu\n",sizeof(int));
    printf("%lu\n",sizeof(num)/sizeof(int));
    */
    
    
#pragma mark  --一个球从100m高度自由落下,每次落地后反跳回原来高度的一半,再落下,再反弹。求它在第10次落地时,共经过多少米?第10次反弹多高?
   
    /*
    int heig=10000;
    float sum=0;
    int a;
    float x=0;
    float zuihou;
    int i;
   
 
    printf("请输入反弹数:\n");
    scanf("%d",&a);
    
    for (i=1; i<a; i++) {
        
            heig=heig/2;
           sum=sum+heig;
    }
        if (i==a) {
            zuihou=heig/2;
            x=sum*2+10000+zuihou;
    }
    
        printf("第%d次反弹,高度为%f米,经过了%.6f米\n",i,zuihou/100,x/100);

 */
#pragma mark   --猴子吃桃问题
    
    /*
     猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的
     桃子吃掉一半,又多吃一个。以后每天    早上都吃了前一天剩下的一半零一个。到第10天早
     上想再吃时,就只剩一个桃子了。求第一天共摘多少个桃子.
     */
 
    /*
    int eat=1;

    for (int i=0; i<9; i++) {
        eat=2*(eat+1);
    }
    printf("%d\n",eat);
 
*/

    
    
    
    
#pragma mark   --qq登录  输错则重新输入,n次错误则退出
    /*

    int i;
    int n=3;
    char a[]="123456";
    char b[i];
    for (i=0; i<3; i++) {
        printf("请输入你的QQ号\n");
        scanf("%s",&b[i]);
 
        if (strcmp(a,b)==0) {
            printf("正确\n");break;
        }
        else
            n--;
        {
            if (n==0) {
                printf("你已经3次错误输入,请五分钟后再次登录\n");break;
            }
            else {
                printf("输入有误,还有%d次机会,重新输入你的QQ号\n",n);
            }
            
        }
        
        
    }
 
*/
   
#pragma mark  --随机产生20个[10,50]的正整数存到数组中,并求数组中的所有元素最大值、最小值、平均值以及各元素之和。
 /*
    int num[20];
    int max=0;
    int min=50;
    int sum=0;
    for (int i=0; i<20; i++) {
        num[i]=arc4random()%41+10;
        sum=sum+num[i];
    }
    
    for (int j=0; j<20; j++) {
        if (max<num[j]) {
            max=num[j];
        }
        if (min>num[j]) {
            min=num[j];
        }
    }
    
    for (int x=0; x<20; x++) {
        printf("第%d个数字为:%d\n",x+1,num[x]);
    }
    
    printf("最大值为:%d\n最小值为:%d\n平均值为:%d\n总和为:%d\n",max,min,sum/20,sum);
    
*/

    
#pragma mark    --冒泡排序--
    int num[10];
    int temp=0;
   printf("请输入你想要排序的数字\n");
    for (int i; i<10; i++) {
       
        scanf("%d",&num[i]);
        printf("%d\n",num[i]);
    }
   for (int x=0; x<10; x++) {

       for (int y=0; y<9; y++) {          

            if (num[y]<num[y+1]) {

               temp=num[y];               

              num[y]=num[y+1];

              num[y+1]=temp;
           }
       }
    }
   
    for (int j=0; j<10; j++) {
        printf("第%d个为: %d\n",j+1,num[j]);
    }

    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    return 0;
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值