例题1:对任意三个数字从大到小排序
# include <stdio.h>
int main(void)
{
int a, b, c; //等价于: int a; int b; int c;
int t;
printf("请输入三个整数(中间以空格分隔): ");
scanf("%d %d %d", &a, &b, &c);
//编写代码完成a是最大值 b是中间值 c是最小值
if (a < b)
{
t = a;
a = b;
b = t;
}
if (a < c)
{
t = a;
a = c;
c = t;
}
if (b < c)
{
t = b;
b = c;
c = t;
}
printf("%d %d %d\n", a, b, c);
return 0;
}
例题2:互换两个数字
# include <stdio.h>
int main(void)
{
int i = 3;
int j = 5;
int t; //定义临时变量
//6和7行代码无法完成i和j的互换
// i = j; // 6行 i = 5; j = 5;
// j = i; // 7行 i = 5; j = 5;
//正确的互换i和j的方法
t = i;
i = j;
j = t;
printf("i = %d, j = %d\n", i, j);
return 0;
}
例题3:求1到100之间的奇数之和
include <stdio.h>
int main(void)
{
int i;
int sum = 0;
for (i=1; i<101; ++i)
{
if (i%2 == 1)
sum += i;// sum = sum + i;
}
printf("sum = %d\n", sum);
return 0;
}
例题4:求1到100之间的奇数的个数
# include <stdio.h>
int main(void)
{
int i;
int cnt = 0; //个数一般用cnt表示
for (i=1; i<101; ++i)
{
if (i%2 == 1)
++cnt;
}
printf("cnt = %d\n", cnt);
return 0;
}
例题5:求1到100之间的奇数的平均值
# include <stdio.h>
int main(void)
{
int i;
int sum = 0;
int cnt = 0;
float avg; //average 的缩写
for (i=1; i<101; ++i)
{
if (i%2 == 1)
{
sum += i;
++cnt;
}
}
avg = 1.0*sum / cnt; //1.0默认是double类型
printf("sum = %d\n", sum);
printf("cnt = %d\n", cnt);
printf("avg = %f\n", avg);
return 0;
}
例题6:求1到100之间的奇数之和, 再求1到100之间的偶数之和
# include <stdio.h>
int main(void)
{
int i;
int sum1 = 0; //奇数和
int sum2 = 0; //偶数和
for (i=1; i<101; ++i)
{
if (i%2 == 1)
{
sum1 += i;
}
else
{
sum2 += i;
}
}
printf("奇数和 = %d\n", sum1);
printf("偶数和 = %d\n", sum2);
return 0;
}
例题7:用for实现1+2+3+4+…+100的和
# include <stdio.h>
int main(void)
{
int sum = 0;
int i;
for (i=1; i<101; ++i)
{
sum = sum + i;
}
printf("sum = %d\n", sum);
return 0;
}
例题8:将一个数组中的元素倒过来输出
例a[8] = {1, 2, 3, 4, 5, 6, 7, 8};==输出8 7 6 5 4 3 2 1
# include <stdio.h>
int main(void)
{
int a[8] = {1, 2, 3, 4, 5, 6, 7, 8};
int i, j;
int t;
i = 0;
j = 7;
while (i < j)
{
t = a[i];
a[i] = a[j];
a[j] = t;
i++;
--j;
}
for (i=0; i<8; ++i)
printf("%d\n", a[i]);
return 0;
}
例题9:判断101-200之间有多少个素数,并输出所有素数。。
~~什么是素数?所谓素数就是质数,只能有1和它本身才能整除自己,即除了1和它本身以外不再有其他因数的自然数。例如:1 2 3 5 7
#include <stdio.h>
int main()
{
int i=0;
int count = 0; //素数个数
for (i = 101; i <= 200; i++) {
int j = 0;
int flag = 1; //假设是素数
for (j = 2; j < i; j++) { // i是否是素数,拿2 到 i-1 范围的数去试除
if (i % j == 0) {
flag = 0;
break; //不是素数,跳出此循环
}
}
if (flag == 1) {
printf("%d\t", i);
count++;
}
}
printf("素数的个数为%d", count);
return 0;
}
例题10:打印出所有的“水仙花数“。
~~什么是水仙花数?所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。
例如:153是一水仙花数例如153是“水仙花数”,
思路:153 = 1的3次方 + 5的3次方 + 3的3次方。
so~利用for循环控制100-999个数,每个数分解出个位,十位,百位。
#include <stdio.h>
int main()
{
int i = 0;
for (i = 100; i <= 999; i++) {
int a = i % 10; //个位
int b = (i / 10) % 10; //十位
int c = i / 100; //百位
if (a * a * a + b * b * b + c * c * c == i) {
printf("%d\t", i);
}
}
return 0;
}