一. 练习
1). 终端输入行数,打印倒金字塔
#include <stdio.h>
int main(int argc, const char *argv[])
{
int num;
printf("请输入行数:");
scanf("%d", &num);
for(int i=num; i>0; i--) {
for (int j=0; j<(num-i); j++) {
printf(" ");
}
for (int j=0; j<(i*2)-1; j++) {
printf("*");
}
printf("\n");
}
return 0;
}
结果展示:
2). 使用break关键字,完成求[3-100]中的质数
include <stdio.h>
int main(int argc, const char *argv[])
{
for (int i=3; i<=100; i++) {
int isZhiShu = 1;
for (int j=i-1; j>1; j--) {
if (i%j == 0){
isZhiShu = 0;
break;
}
}
if (isZhiShu) {
printf("%d是一个质数\n", i);
}
}
return 0;
}
3). 已知一维数组int arr[5];终端输入数组中元素,并求出最大值
#include <stdio.h>
int main(int argc, const char *argv[])
{
int arr[] = {2, 1, 3, 4, 5};
int max = 0;
for (int i=0; i<5; i++) {
int value = arr[i];
max = value >= max ? value : max;
printf("%d ", value);
}
printf("\n最大数是:%d\n", max);
return 0;
}
结果展示:
4). 一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
#include <stdio.h>
int main(int argc, const char *argv[])
{
float high = 100.f;
float count = 0.f;
for (int i=0; i<10; i++) {
count += (high * 1.5);
high = high/2;
}
printf("共经过%f米\n", count);
printf("第10次反弹%f米\n", high);
return 0;
}
结果展示: