0
点赞
收藏
分享

微信扫一扫

编程题(2):

#define _CRT_SECURE_NO_WARNINGS 1 
#include<stdio.h>

//作业(1):喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以喝多少汽水:
// 方法1:
//int main()
//{
// int price;
// scanf("%d", &price);
// int i,n=0;
// for (i = 1; i <= price; i++)
// {
// n++;
// if(n%2==0)
// {
// n++;
// }
// }
// printf("可以喝%d瓶汽水\n", n);
// return 0;
//}
//方法2:
//int main()
//{
// int price;
// scanf("%d", &price);
// int total = 0, empty;
// //喝掉汽水
// total = price;
// empty = price;
// //用空瓶换汽水
// while (empty >= 2)
// {
// total = total + (empty / 2);
// empty = (empty / 2) + (empty % 2);
// }
// printf("%d\n", total);
// return 0;
//}
//方法(3):
//int main()
//{
// int price;
// scanf("%d", &price);
// int total = 0;
// if(price==0)
// {
// total = 0;
// }
// else
// {
// total=2 * price - 1;
// }
// printf("total=%d\n", total);
// return 0;
//}

#include<assert.h>
//作业(2):模拟实现库函数strlen:
//int my_strlen(const char* str)
//{
// assert(str != NULL); //保证指针的有效性
// int count = 0;
// while (*str!='\0')
// {
// count++;
// str++;
// }
// return count;
//}
//int main()
//{
// char job[] = "good office";
// //int len = my_strlen(NULL);
// int len = my_strlen(job);
// printf("%d\n", len);
// return 0;
//}

//作业(3):模拟实现库函数strcpy:
//char* my_strcpy(char* dest, const char* src)
//{
// assert(dest != NULL);
// assert(src != NULL);
// char* temp=dest;
// while (*dest++ = *src++)
// {
// ;
// }
// return temp;
//}
//int main()
//{
// char job1[25] = "good office";
// char job2[] = "very good good office";
// printf("%s\n", my_strcpy(job1, job2));
// return 0;
//}

//作业(4):输入一个整数数组,用函数实现使奇数全部位于偶数前面:
void print(int* a, int sz)
{
int i;
for (i = 0; i < sz; i++)
{
printf("%d ", a[i]);
}
printf("\n");
}
void move(int* a, int sz)
{
int left = 0;
int right = sz - 1;
int temp;
while (left<right)
{
//从左边找偶数:
while ((left<right) && (a[left] % 2 == 1))
{
left++;
}
//从右边找奇数
while ((left < right) && (a[right] % 2 == 0))
{
right--;
}
if (left < right)
{
temp = a[left];
a[left] = a[right];
a[right] = temp;
}
}
}
int main()
{
int a[] = { 1,2,3,4,5,6,7,8,9,10,11 };
int sz = sizeof(a) / sizeof(a[0]);
move(a,sz);
print(a,sz);
return 0;
}

举报

相关推荐

0 条评论