1. 给定两个整形变量的值,将两个值的内容进行交换。
#include<stdio.h>
int main()
{
int a=1,b=2;
int tmp=0;
printf("a=%d b=%d\n",a,b);
tmp=a;
a=b;
b=tmp;
printf("a=%d b=%d\n",a,b);
return 0;
}
2. 不允许创建临时变量,交换两个数的内容(附加题)
#include<stdio.h>
int main()
{
int a=1,b=2;
printf("a=%d b=%d\n",a,b);
a=a^b;
b=a^b;
a=a^b;
printf("a=%d b=%d\n",a,b);
return 0;
}
3. 求10 个整数中最大值。
#include <stdio.h>
int main()
{
int arr[10] = { 1,2,3,4,5,6,7,8,9,0 };
int max= 0;
for (arr[10] = 0; arr[10] < 10; arr[10]++)
if(max<arr[10])
max = arr[10];
printf("%d\n", max);
getchar();
return 0;
}
4. 写一个函数返回参数二进制中 1 的个数
#include <stdio.h>
#include <stdlib.h>
int count_one_bits(unsigned int value)
{
int count = 0;
while (value)
{
if (value % 2 == 1)
count++;
value = value / 2;
}
return count;
}
int main()
{
unsigned int n;
scanf("%d", &n);
int count= count_one_bits(n);
printf("%d\n", count);
system("pause");
return 0;
}