最大值元素互换C语言,C语言(四)

//

// main.c

// -C-4

//

// Created by lanqs on 14/12/9.

// Copyright (c) 2014年 . All rights reserved.

//

#include

#include

#include

#include

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

// 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;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值