//
// main.c
// Test-03
//
// Created by 刘佳斌 on 15/11/8.
// Copyright © 2015年 刘佳斌. All rights reserved.
//
#include <stdio.h>
#include <string.h>
int main(int argc, const char * argv[]) {
#pragma mark --有五个名字的字符串数组,按照英文字母的大小,进行升序排序。
/*
char str[5][10]={"zhao","qian","sun","li","wu"};
for (int i=0; i<5; i++) {
for (int j=0; j<5; j++) {
if(strcmp(str[j],str[j+1])>0){
char temp[10]={0};
strcpy(temp, str[j]);
strcpy(str[j], str[j+1]);
strcpy( str[j+1], temp);
}
}
}
for (int x=0; x<5; x++) {
printf("%s\n",str[x]);
}
*/
#pragma mark --调用函数--
/*
int a,b,c;
void fun1(int a,int b,int c);
int fun2(int a,int b,int c);
int fun3(int a,int b,int c);
printf("请输入三个数:\n");
scanf("%d,%d,%d",&a,&b,&c);
fun1(a,b,c);
printf("x=%d,y=%d,z=%d\n",a,b,c);
int sum=fun2(a,b,c);
printf("三个数的和为:%d\n",sum);
int max=fun3(a,b,c);
printf("三个数的最大值为:%d\n",max);
*/
#pragma mark --输入几个数,冒泡排序- ❌ 警惕 数组越界
int times;
printf("请输入要排序的个数\n");
scanf("%d",×);
int num[times];
int temp=0;
printf("请输入要排序的数字:\n");
for(int i=0;i<times;i++)
{
scanf("%d",&num[i]);
printf("第%d个数字为%d\n",i+1,num[i]);
}
for (int x=0; x<times-1; x++) { // 次数x值或者y值不可以为times,因为当x,y取到最大值的时候,
for (int y=0; y<times-1; y++) { // 下边会执行y值与y+1的值进行比较,而y+1的值超过了数组的范围,造成越界
if (num[y]<num[y+1]) {
temp=num[y];
num[y]=num[y+1];
num[y+1]=temp;
}
}
}
printf("排序后 %d %d \n",num[0],num[1]);
for (int j=0; j<times; j++) {
printf("冒泡顺序第%d数为%d\n",j+1,num[j]);
}
// int score[]={};
// int i=0;
// int sum=0;
// printf("请输入小组成员的成绩:(0为停止输入)\n");
// for (i=0; i<100; i++) {
//
// scanf("%d",&score[i]);
// if(score[i]==0){
// printf("输入完毕\n");
// break;
// }
// printf("成员成绩为:%d\n",score[i]);
// }
//
// for (int j=0; j<i; j++) {
// sum=sum+score[j];
//
// }
// printf("总和为:%d\n",sum);
// printf("平均成绩为:%d\n",sum/i);
//
return 0;
}
/*
void fun1(int x,int y,int z)
{
x=x*x;
y=y*y;
z=z*z;
printf("x=%d,y=%d,z=%d\n",x,y,z);
}
int fun2(int x,int y,int z)
{
return (x+y+z);
}
int fun3(int x,int y,int z)
{
if (x<y) {x=y;}
if (x<z){
x=z;
}
return (x);
}
*/
// main.c
// Test-03
//
// Created by 刘佳斌 on 15/11/8.
// Copyright © 2015年 刘佳斌. All rights reserved.
//
#include <stdio.h>
#include <string.h>
int main(int argc, const char * argv[]) {
#pragma mark --有五个名字的字符串数组,按照英文字母的大小,进行升序排序。
/*
char str[5][10]={"zhao","qian","sun","li","wu"};
for (int i=0; i<5; i++) {
for (int j=0; j<5; j++) {
if(strcmp(str[j],str[j+1])>0){
char temp[10]={0};
strcpy(temp, str[j]);
strcpy(str[j], str[j+1]);
strcpy( str[j+1], temp);
}
}
}
for (int x=0; x<5; x++) {
printf("%s\n",str[x]);
}
*/
#pragma mark --调用函数--
/*
int a,b,c;
void fun1(int a,int b,int c);
int fun2(int a,int b,int c);
int fun3(int a,int b,int c);
printf("请输入三个数:\n");
scanf("%d,%d,%d",&a,&b,&c);
fun1(a,b,c);
printf("x=%d,y=%d,z=%d\n",a,b,c);
int sum=fun2(a,b,c);
printf("三个数的和为:%d\n",sum);
int max=fun3(a,b,c);
printf("三个数的最大值为:%d\n",max);
*/
#pragma mark --输入几个数,冒泡排序- ❌ 警惕 数组越界
int times;
printf("请输入要排序的个数\n");
scanf("%d",×);
int num[times];
int temp=0;
printf("请输入要排序的数字:\n");
for(int i=0;i<times;i++)
{
scanf("%d",&num[i]);
printf("第%d个数字为%d\n",i+1,num[i]);
}
for (int x=0; x<times-1; x++) { // 次数x值或者y值不可以为times,因为当x,y取到最大值的时候,
for (int y=0; y<times-1; y++) { // 下边会执行y值与y+1的值进行比较,而y+1的值超过了数组的范围,造成越界
if (num[y]<num[y+1]) {
temp=num[y];
num[y]=num[y+1];
num[y+1]=temp;
}
}
}
printf("排序后 %d %d \n",num[0],num[1]);
for (int j=0; j<times; j++) {
printf("冒泡顺序第%d数为%d\n",j+1,num[j]);
}
// int score[]={};
// int i=0;
// int sum=0;
// printf("请输入小组成员的成绩:(0为停止输入)\n");
// for (i=0; i<100; i++) {
//
// scanf("%d",&score[i]);
// if(score[i]==0){
// printf("输入完毕\n");
// break;
// }
// printf("成员成绩为:%d\n",score[i]);
// }
//
// for (int j=0; j<i; j++) {
// sum=sum+score[j];
//
// }
// printf("总和为:%d\n",sum);
// printf("平均成绩为:%d\n",sum/i);
//
return 0;
}
/*
void fun1(int x,int y,int z)
{
x=x*x;
y=y*y;
z=z*z;
printf("x=%d,y=%d,z=%d\n",x,y,z);
}
int fun2(int x,int y,int z)
{
return (x+y+z);
}
int fun3(int x,int y,int z)
{
if (x<y) {x=y;}
if (x<z){
x=z;
}
return (x);
}
*/