一、用循环验证用户输入的数字
#include<stdio.h>
int main(){int num;printf("请您猜一个正整数:");scanf("%d",&num);while (num>=0&&num<=100){if (num==65){printf("恭喜您猜对了。");break;}else{printf("您猜错了。请继续:");scanf("%d",&num);} } }
运行结果:
二、打印出1到1000以内能被3整除的数字
#include<stdio.h>
int main() {int a = 1, j = 0;while (a > 0 && a <= 1000) {if (a % 3 == 0) {printf("%4d ", a);j++;if (j >= 5) {j = 0;printf("\n");}}a++;}return 0;
}
运行结果:
三、简单统计输入数的个数(用户可以无限次输入数字,请统计输入数字的正数个数,负数个数,0的个数,当用户输入999时程序结束。)
#include<stdio.h>
int main() {int num;int positive = 0, negative = 0, zero = 0;while (1) {scanf("%d", &num);if (num == 999) {break;}if (num > 0) {positive++;} else if (num < 0) {negative++;} else {zero++;}}printf("正数个数:%d\n负数个数:%d\n零的个数:%d\n", positive, negative, zero);return 0;
}
运行结果:
四、阶乘的计算
#include<stdio.h>
int main(){int n,i=1,sum=1;printf("请输入一个数字:");scanf("%d",&n);while (i<=n){sum=sum*i;i++; }printf("%d的阶乘为:%d",n,sum); }
运行结果:
五、编写一个程序,让用户输入一个数,然后计算该数各个位数的和。
#include<stdio.h>
int main(){int a,b,sum;printf("请输入一个正整数:");scanf("%d",&a);b=a;while (a>0){sum+=a%10;a/=10;}printf("%d的各位的和为:%d",b,sum);}
运行结果:
六、打印菱形
#include<stdio.h>
int main(){ //i--行 j--列for (int i = 1; i < 6; i++) {printf("\n");for (int k = 0; k < 5-i; k++)// 空格{printf(" ");} for (int j = 0; j<2*i-1; j++)// *号{printf("*");} }for (int i = 4; i > 0; i--) {printf("\n");for (int k = 0; k < 5-i; k++)// 空格{printf(" ");} for (int j = 0; j<2*i-1; j++)// *号{printf("*");} }}
运行结果:
七、一个球从100米高度自由落下,每次落地后反弹回原高度的一半;再落下,求在第几次之后反弹高度小于0.1米,并计算在这一次落地时共经过多少米?
#include<stdio.h>
int main(){ double sum=100;double c=1; //次数for (double h = 50; h > 0.1; h/=2.0) //反弹高度{sum = 2*h + sum;c++;} printf("在第%.0f次之后反弹高度小于0.1米,并计算在这一次落地时共经过%.2f米",c,sum);}
运行结果: