1.实现一个整数计算器
方法一:
#include "stdio.h"
int add(int a, int b)
{
return a + b;
}
int sub(int a, int b)
{
return a - b;
}
int mul(int a, int b)
{
return a * b;
}
int div(int a, int b)
{
return a / b;
}
int main()
{
int x = 0;
int y = 0;
int input = 1;
int tmp = 0;
while (input)
{
printf("#####################\n");
printf("1.add 2.sub \n");
printf("3.mul 4.div \n");
printf("#####################\n");
printf("请选择:\n");
scanf_s("%d", &input);
switch (input)
{
case 1:
printf("输入数字;");
scanf_s("%d,%d", &x, &y);
tmp = add(x, y);
break;
case 2:
printf("输入数字;");
scanf_s("%d,%d", &x, &y);
tmp = sub(x, y);
break;
case 3:
printf("输入数字;");
scanf_s("%d,%d", &x, &y);
tmp = mul(x, y);
break;
case 4:
printf("输入数字;");
scanf_s("%d,%d",&x, &y);
tmp = div(x, y);
break;
default:
printf(" 请重新输入\n");
break;
}
printf("%d\n", tmp);
printf("\n");
printf("\n");
}
system("pause");
return 0;
}
方法二:
nt main()
{
int x = 0;
int y = 0;
int input = 1;
int tmp = 0;
int(*arr[5])(int x, int y) = { 0, add, sub, mul, div };
while (input)
{
printf("#####################\n");
printf("1.add 2.sub \n");
printf("3.mul 4.div \n");
printf("#####################\n");
printf("请选择:\n");
scanf_s("%d", &input);
if ((input >= 1 && input <= 4))
{
printf("输入数字:\n");
sacnf_s("%d,%d", &x, &y);
tmp = (*arr[input])(x, y);
}
else
{
printf("请重新输入数字");
}
printf("%d\n", tmp);
printf("\n");
printf("\n");
}
system("pause");
return 0;
}
2.写冒泡排序可以排序多个字符串。
#include "stdio.h"
#include "string.h"
void bubble(char *arr[],int size)
{
int i = 0;
int j = 0;
for (i = 0; i <size - 1; i++)
{
for (j = 0; j < size - 1 - i; j++)
{
if (strcmp(*(arr + j), *(arr + j + 1))>0)
{
char *tmp;
*tmp = *(arr + j);
*(arr + j) = *(arr+ j + 1);
*(arr+ j + 1) = tmp;
}
}
}
}
int main()
{
char *arr[] = {"aaaa", "dddd", "cccc", };
int i = 0;
int sz = sizeof(arr) / sizeof(arr[0]);
bubble(arr, sz);
for (i = 0; i < sz; i++)
{
printf("%s\n", *(arr + i));
}
printf("\n");
system("pause");
return 0;
}