C语言(四)

//
//  main.c
//  -C-4
//
//  Created by lanqs on 14/12/9.
//  Copyright (c) 2014年 . All rights reserved.
//

#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
    int main(int argc, const char * argv[]) {
#pragma mark - 1.	编写一个C程序,接收用户输入的7个温度,然后求出7个温度的平均值,然后打印该平均值。

//        float a[7]={0};
//        float sum,pi;
//        for (int i = 0; i < 7; i ++) {
//            scanf("%f", &a[i]);
//            sum+=a[i];
//        }
//        pi=sum/7;
//        printf("pi=%f",pi);
        
#pragma mark - 2.	循环录入5个数字,然后按反序输出(将一个数组中的值按逆序重新存放,例如原来的顺序为:8,6,5,4,1.要求改为:1,4,5,6,8;并将数组中的值输出)
        
//        int a[5]={};
//        for (int i = 0; i < 5; i ++) {
//            scanf("%d",&a[i]);
//        }
//        for (int i = 0; i < 3; i ++) {
//            int temp = a[i];
//                a[i] =a [4-i];
//                a[4-i] = temp;
//        }
//        for (int i = 0; i < 5; i ++) {
//            printf("%d ",a[i]);
//        }
#pragma mark - 3.	随机产生20个100-200之间的正整数存放到数组中,并求数组中的所有元素最大值、最小值、平均值,然后将各元素的与平均值的差组成一个新数组。(arc4random()函数)
//        int a[20] = {0};
//        int max = a[0],min = 300,sum=0,pi = 0;
//        int b[20] = {0};
//        for (int i = 0; i < 20; i ++) {
//            //取100以内随机数+100
//            a[i] = (arc4random() % 100) + 100;
            printf("%d ", a[i]);
//            if (max < a[i]) {
//                max=a[i];
//            }
//            if (min > a[i]) {
//                min = a[i];
//            }
//            sum+=a[i];
//            pi=sum/20;
//            b[i]=a[i]-pi;
//        }
//        printf("max=%d min=%d pi=%d ",max,min,pi);
//        printf("\n");
//         printf("新数组\n");
//        for (int i = 0; i < 20; i ++) {
//            printf("%d ",b[i]);
//        }
#pragma mark - 4.	有一行英文语句,统计其中的单词个数(单词之间以空格分隔),并将每一个单词的第一个字母改为大写。
//        char a[100] = {0};
//        int flag=1;
//        //        scanf("%s",&a[100]);
//        int number = 0;
//        printf("请输入单词:");
//        gets(a);
//        for (int i = 0; a[i]!='\0'; i ++) {
            if((a[i] >= 'a' && a[i] <= 'z')|| (a[i] >= 'A' && a[i] <= 'Z')){
                number ++;
            }
//            if (a[i] == ' ') {
//                flag = 1;//只做标记的操作1
                number++;
                //如果有多个空格,用了这个方法,字符都不是空格了,以后就不能执行这个方法
                a[i+1]-=32;
//            }else if (flag == 1){//这个语句的意思是判断前面一个是空格
//                    number++;
//                    flag = 0;
//                //为什么是a[i]而不是a[i+1]呢?
//                //因为,这已经是上面的下一个循环了这里的i是上面那个的i+1
//                //上面的执行的话拒不执行这一句了,如果输入的不是空格,就会执行这个,已经是下一个循环了
//                    a[i]-=32;
//            }
//        }
//        printf("有%d个单词", number);
//        printf("\n");
//        for (int i = 0; i < 100; i ++) {
            //把小写转化为大写
            if (a[0] >= 'a' && a[0] <= 'z') {
                a[0] -= 32;
            }
//            printf("%c",a[i]);
//        }
#pragma mark - 5.	编写一个C程序,接收10个分数(score)的输入,然后将其进行排序(从大到小),然后将这些分数打印出来。排序建议使用冒泡排序,当然如果会其他算法,也可以使用其他算法进行排序。
        
//        float a[10]={0};
//        for (int i = 0 ; i < 10; i ++) {
//            scanf("%f", &a[i]);
//        }
//        for (int i =0 ; i < 10 ; i ++) {
//            for (int j= i ; j < 10 ; j ++) {
//                if (a[i] < a[j]) {
//                    int temp = a[i];
//                    a[i]= a[j];
//                    a[j]= temp;
//                }
//            }
//            printf("%.2f ",a[i]);
//        }
#pragma mark - 6.	数组有1000个元素,设数组a[1000],存放1-1000个数值,但是现在有一个数值重复了,只扫描一遍数组,找出那个重复的数。(注:本题可以先采用10个数做例子,不需要循环录入1000个数)
        
//        int a[10]={1,2,3,4,5,6,7,7,9,2};
//        for (int i = 0 ; i < 10 ; i ++) {
//            for (int j = i ; j < 10; j ++) {
//                if(a[i]==a[j]&&i!=j){
//                    printf("%d ",a[i]);
//                }
//            }
//        }
#pragma mark - 7.	将一个二维数组a的行和列的元素互换(即行列转置)
//        int a[3][3]={1,2,3,4,5,6,7,8,9};
//        for (int i = 0 ; i < 3 ; i ++) {
//            for (int j = i ; j < 3 ; j ++) {
//                int temp = a[i][j];
//                a[i][j] = a[j][i];
//                a[j][i] = temp;
//            }
//        }
//        for (int i =0 ; i < 9; i ++) {
//            printf("%d ", a[0][i]);
//        }
#pragma mark - 8.	尝试理解gets()函数,去输入一个字符串并使用puts()函数打印输出该字符串,且,使用scanf()函数来输入和打印相同字符
//        char a[100]={0};
//        char b[100]={0};
//        gets(a);
//        puts(a);
 //       scanf("%s",&b[100]);
//        printf("scanf输入:\n");
//        for (int i = 0; i <strlen(a); i ++) {
//            scanf("%c",&b[i]);
//        
//        }
//        puts(b);
#pragma mark - 9.	不使用系统库函数strcpy(),尝试手写一个程序,实现strcpy()原理,将字符数组s2中的全部字符复制到字符数组s1中;
//        char s1[100] ={0};
//        char s2[100]="hello world";
//        for (int i = 0 ;  i < 20 ; i ++) {
//            s1[i]=s2[i];
//        }
//        puts(s1);
#pragma mark - 杨辉三角的实现
#pragma mark - 找出一个二维数组中的鞍点,即在该位置上的元素在该行上最大,在该列上最小;也可能没有鞍点(二维数组中没有重复数)
#pragma mark - 求整型数组(每个元素都是0-9的整数)中最长连续元素子串所组成的最大的数值。

        
    printf("\n");
    return 0;
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值