main函数参数及冒泡排序
来源:互联网 发布:java 手机号验证 编辑:程序博客网 时间:2024/06/08 18:25
例如:命令行参数输入:test.exe -a 1 2
执行1+2输出3
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(int argc,char *argv[])
{
int a = 0;
int b = 0;
int c = 0;
scanf("%d %d",&a,&b);
if(strcmp("-a",argv[1])==0)
{
c = a+b;
printf("a+b=%d\n",c);
}
if(strcmp("-s",argv[2])==0)
{
c = a-b;
printf("a-b=%d\n",c);
}
if(strcmp("-m",argv[3])==0)
{
c = a*b;
printf("a*b=%d\n",c);
}
if(strcmp("-d",argv[4])==0)
{
c = a/b;
printf("a/b=%d\n",c);
}
system("pause");
return 0;
}
修改main函数的命令行参数:
项目->属性->配置属性->调试->命令行参数
每个参数用空格隔开即可
2.写冒泡排序可以排序多个字符串。
#include<stdio.h>
#include<stdlib.h>
void display(int *a,int sz)//循环打印该数组的每一个元素
{
int i = 0;
for(i=0;i<sz;i++)
{
printf("%d ",a[i]);
}
}
void swap(int *a,int *b)//两个数进行交换
{
*a^=*b;
*b^=*a;
*a^=*b;
}
void my_bubble(int *a,int sz)
{
int *start = a;//定义一个指针start指向数组a的首元素
int i = 0;
int j = 0;
int flag = 0;//是否进行交换标志位
for(j=0;j<sz-1;j++)//如果有n个数,那只需将n-1个数排序,剩下的一个数就自然放到了最前面
{
for(i=0;i<sz-j-1;i++)//第一趟冒泡排序,第二趟冒泡排序只需要比较到倒数第二个数,因为最后一个数已经为最大的了
{
if((*(start+i))>(*(start+i+1)))//如果前一个比后一个大那么它俩调换位置
{
swap((start+i),(start+i+1));
flag=1;//交换两个数的值后将标志位置1,证明交换过
}
}
if(!flag)//如果进行一次冒泡排序后没有进行交换则就已经为有序的,就不需要在进行排序
{
break;
}
}
}
int main()
{
int a[]={1,23,4,5,3,6,12,45};//输入一组数据
int sz = sizeof(a)/sizeof(a[0]);//求该数组的元素个数
my_bubble(a,sz);//冒泡排序
display(a,sz);//打印
system("pause");
return 0;
}
- main函数参数及冒泡排序
- main函数参数及可变参数列表
- C# main函数详解及参数应用
- C# main函数详解及参数应用
- C# main函数详解及参数应用
- main函数参数的解析及应用
- 数据常用函数及冒泡排序法
- C++:Main函数参数列表及参数类型转换
- main 及 WinMain参数
- main 及 WinMain参数
- main函数的参数
- main函数的参数
- Main 函数的参数
- main()函数的参数
- main 函数参数
- main函数的参数
- main函数的参数
- main函数的参数
- 计算机网络基础知识总结-TCP
- 【回味C】基本类型
- Textview的展开和收缩功能
- 设计模式C++实现(11)——装饰模式
- chrome command line API 参考
- main函数参数及冒泡排序
- 单例模式
- 京东淘宝放大镜封装
- 求大神帮忙
- 使用@Valid注解规范用户请求的参数
- wamp一键安装使用
- 用Java实现的一个密码验证 以及Java异常处理流程和runtime异常以及checked异常之间的区别
- leetcode 542. 01 Matrix 距离0最近的距离 动态规划DP
- spring常见名词解析