1.使用main函数的参数,实现一个整数计算器,程序可以接受三个参数,第一个参数“-a”选项执行加法,“-s”选项执行减法,“-m”选项执行乘法,“-d”选项执行除法,后面两个参数为操作数。
例如:命令行参数输入:test.exe -a 1 2
执行1+2输出3
例如:命令行参数输入:test.exe -a 1 2
执行1+2输出3
#include<stdio.h> #include<stdlib.h> #include<string.h> int main(int argc,char *argv[]) { int sum = 0; int num1 = atoi(argv[2]); int num2 = atoi(argv[3]); if (argv[1][0] == '-') { switch (argv[1][1]) { case 'a': sum = num1 + num2; break; case 's': sum = num1*num2; break; case'm': sum = num1*num2; break; case 'd': sum = num1 / num2; break; default: printf("第二个参数有误\n"); break; } } else { printf("输入错误\n"); } printf("sum=%d\n", sum); system("pause"); return 0; }
2.
2.写冒泡排序可以排序多个字符串。
#include<stdio.h> #include<stdlib.h> #include<string.h> #define S 3 //行数 #define N 10//列数 void exchange(char *p,char *q) { char tmp = *p; *p = *q; *q = tmp; } void sort(char arr[S][N]) { int x = 0; while (x < 5) { int i = 0; int j = 0; int y = strlen(arr[x]); for (i = 0; i < y-1; i++) { for (j = 0; j < y - i - 1; j++) { if (arr[x][j]>arr[x][j + 1]) { exchange(&arr[x][j], &arr[x][j + 1]); } } } x++;//下一行 } } int main() { char arr[S][N] = { "asddfg", "WERTDFG", "DRFCFGHJ" }; int i = 0; sort(arr); for (i = 0; i < S; i++) { printf("%s\n", arr[i]); } system("pause"); return 0; }