给定两个整形变量的值,将两个值的内容进行交换
#include <stdio.h>
int main()
{
int a = 0;
int b = 0;
int c;
scanf_s("%d%d", &a, &b);
printf("交换前a和b的值:\n");
printf("a = %d,b = %d\n", a, b);
c = a;
a = b;
b = c;
printf("交换后a和b的值:\n");
printf("a = %d,b = %d\n", a, b);
system("pause");
return 0;
}
不允许创建临时变量,交换两个数的内容(附加题)
#include <stdio.h>
void swap(int *i, int *j)
{
int c;
c = *i;
*i = *j;
*j = c;
}
int main()
{
int a, b;
int *p, *q;
p = &a, q = &b;
scanf_s("%d%d", &a, &b);
printf("交换前a和b的值:\n");
printf("a = %d,b = %d\n", a, b);
swap(p, q);
printf("交换后a和b的值:\n");
printf("a = %d,b = %d\n", a, b);
system("pause");
return(0);
}
求10 个整数中最大值。
#include <stdio.h>
int main()
{
int a[10],i ,max;
for (i = 0; i < 10; i++)
scanf_s("%d", &a[i]);
max = a[0];
for (i = 1; i < 10; i++)
{
if (max < a[i])
max = a[i];
}
printf("max = %d\n", max);
system("pause");
return 0;
}
写一个函数返回参数二进制中 1 的个数
#include <stdio.h>
int count_one_bits(unsigned int value)
{
int a = value;
int i = 0;
while (a)
{
if (a % 2 == 1)
{
i++;
}
a = a / 2;
}
return i;
}
int main()
{
unsigned int a;
scanf_s("%d", &a);
printf("1的个数:%d\n", count_one_bits(a));
system("pause");
return 0;
}