感觉写程序效率好低啊,我还要多久才能达到看到一个项目就能用代码把自己的想法写出来的程度啊!不过这种事情还是不能急,这大概和手感(?)有关吧。
最近联系的项目都很相似,基本都是在用判断和循环,写起来也越来越轻松了。这就说明想要代码敲得好,练习不能少!附上今天的练习吧,渣代码自己反思用用。
1.将数组A中的内容和数组B中的内容进行交换。(数组一样大)
#include<stdio.h>
void Swap(int *px ,int *py)
{
int tmp = *px;
*px = *py;
*py = tmp;
}
int main()
{ int i;
int a[10]={1,2,3,4,5,6,7,8,9,10};
int b[10]={10,9,8,7,6,5,4,3,2,1};
for(i=0;i<10;i++)
Swap(&a[i],&b[i]);
printf("a[10] = ");
for(i=0;i<10;i++)
printf("%d",a[i]);
printf("\nb[10] = ");
for(i=0;i<10;i++)
printf("%d",b[i]);
return 0;
}
2.获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列。
#include<stdio.h>
int main()
{
int a[16];
int b[16];
int num = -1;
int i = 0, j = 0;
for(i=0; i<32; i++)
if(i%2 == 1)
{
a[j] = num&1;
num = num>>1;
j++;
}
else if(i%2 == 0)
{
b[j] = num&1;
num = num>>1;
}
for(j=0; j<16;j++)
printf("%d",a[j]);
for(j=0; j<16;j++)
printf("%d",b[j]);
return 0;
}
3.将三个数按从大到小输出。
#include<stdio.h>
void Swap(int *px ,int *py)
{
int tmp = *px;
*px = *py;
*py = tmp;
}
int main()
{
int arr[3] = {1, 2, 3};
int i;
int j;
for(i=0; i<2; i++)
{
for(j=1; j<3; j++)
{
if(arr[i]<arr[j])
{
Swap(&arr[i],&arr[j]);
}
}
}
for(i=0; i<3; i++)
printf("%d",arr[i]);
system("pause");
return 0;
}
4.求两个数的最大公约数。
#include<stdio.h>
void Swap(int *px ,int *py)
{
int tmp = *px;
*px = *py;
*py = tmp;
}
int main()
{
int a = 0;
int b = 0;
int c = 0;
printf("请输入两个数;");
scanf("%d%d",&a,&b);
if(a/b < 1)
{
Swap(&a, &b);
}
while(a%b != 0)
{
c = a;
a = b;
b = c%a;
}
printf("\n最大公约数为;%d",b);
return 0;
}