while语句
average score
#include<stdio.h>
int main()
{
float score, sum = 0;
int count = 0;
printf("please input score:");
scanf("%f", &score);
while(score <= 100 && score >= 0)
{
count++;
sum += score;
printf("please input score:");
scanf("%f", &score);
}
printf("average = %f", sum / count);
return 0;
}
统计字符个数 Count the characters
#include <stdio.h>
int main()
{
int n = 0;
printf("input a string:");
while(getchar() != '\n') n++;
printf("%d",n);
return 0;
}
求近似值 Get an approximation
#include <stdio.h>
int main()
{
double n = 1, sum = 0, t = 1;
while((1 / n) >= 1e-6)
{
sum += t * (1 / n);
n += 2;
t *= -1;
}
printf("Approximation of PI: %lf", 4 * sum);
return 0;
}
do-while语句
统计一个正整数的位数
#include <stdio.h>
int main()
{
int number;
int count = 0;
printf("input a number:");
scanf("%d",&number);
do{
number = number / 10;
count++;
}while(number != 0);
printf("count = %d", count);
return 0;
}
辗转相除法求最大公约数 Tossing and turning division Greatest common divisor
默认m > n
#include <stdio.h>
int main()
{
int m, n;
int r;
scanf("%d %d", &m, &n);
do{
r = m % n;
m = n;
n = r;
}while(r != 0);
printf("Greatest common divisor: %d", m);
return 0;
}
无默认·
#include <stdio.h>
int main()
{
int m, n, r;
int t;
scanf("%d %d", &m, &n);
if(m < n)
{
t = m; m = n; n = t;
}
do{
r = m % n;
m = n;
n =r;
}while(r != 0);
printf("Greatest common divisor:%d", m);
return 0;
}
逆序输出正整数 Reverse order
#include <stdio.h>
int main()
{
int number;
scanf("%d", &number);
int n = number % 10;
do{
printf("%d", n);
number = number / 10;
n = number % 10;
}while(number != 0);
return 0;
}
for语句
统计1~100之间同时被3和7整除的数
#include <stdio.h>
int main()
{
int i;
for(i = 1;i <= 100; i++)
{
if((i % 3 == 0) && (i % 7 == 0))
printf("%5d", i);
}
return 0;
}
求Fibonacci数列的前10项
#include <stdio.h>
int main()
{
int i, x1, x2, x;
x1 = 1;
x2 = 1;
printf("%6d%6d", x1, x2);
for(i = 1; i <= 8; i++)
{
x = x1 + x2;
printf("%6d", x);
x1 = x2;
x2 = x;
}
}
判断完数
例:6;
6 的因子:1, 2, 3
6 = 1 + 2 + 3;
#include <stdio.h>
int main()
{
int n, sum = 0;
scanf("%d", &n);
int i;
for(i = 1; i < n; i++)
{
if(n % i == 0) sum += i;
}
if(sum == n) printf("Yes");
return 0;
}