C语言练习题:循环部分(20题)

求一正整数限定内所有素数

/*

__author__ = 'xiaofeizhang'

函数作用:求一正整数限定内所有素数

*/

#include

#include

#include

int main(void){

int num;

bool isprime = true;

printf("请输入一个正整数:");

scanf("%d", &num);

if(num==0 || num==1){

printf("%d不是素数", num);

exit(0);

}

for (int j=2; j<=num; j++){

for (int i=2; i<=sqrt(j); i++){

if (j%i == 0){

isprime = false;

break;

}

else{

isprime = true;

}

}

if (isprime == true){

printf("%d是素数\n", j);

}

}

return 0;

}

/*

请输入一个正整数:100

2是素数

3是素数

5是素数

7是素数

11是素数

13是素数

17是素数

19是素数

23是素数

29是素数

31是素数

37是素数

41是素数

43是素数

47是素数

53是素数

59是素数

61是素数

67是素数

71是素数

73是素数

79是素数

83是素数

89是素数

97是素数

--------------------------------

Process exited after 1.651 seconds with return value 0

请按任意键继续. . .

*/

求一正整数的各个位数显示,并求和

/*

__author__ = 'xiaofeizhang'

函数作用:正整数的各个位数显示,并求和

*/

#include

int main(void){

int num, num_copy, sum=0;

printf("请输入一个正整数:");

scanf("%d", &num);

num_copy = num;

while(num){

printf("%d\n", num%10);

sum += num%10;

num /= 10;

}

printf("%d的各位求和为:%d", num_copy, sum);

return 0;

}

/*

请输入一个正整数:123

3

2

1

123的各位求和为:6

--------------------------------

Process exited after 1.567 seconds with return value 0

请按任意键继续. . .

*/

迭代求值

/*

__author__ = 'xiaofeizhang'

函数作用:迭代求值

*/

#include

int main(void){

int max, i=0, sum=0, j=0;

printf("请输入本次迭代的最大值:");

scanf("%d", &max);

for(;i<=max; ){

sum +=i;

i=i+2;

j++;

}

printf("%d之内的偶数叠加的值为:%d\n", max, sum);

printf("迭代了%d次", j);

return 0;

}

/*

请输入本次迭代的最大值:12

12之内的偶数叠加的值为:42

迭代了7次

--------------------------------

Process exited after 3.905 seconds with return value 0

请按任意键继续. . .

*/

设定次数,猜数字

/*

__author__ = 'xiaofeizhang'

函数作用:有奖竞猜

*/

#include

#include

#include

int main(void){

int num, symbol, max=5;

srand(time(NULL));

num = rand()%100+1;

printf("预设值的结果为:%d\n", num);

printf("有奖竞猜下:");

scanf("%d", &symbol);

for(int i=1; i<=max; i++){

if (symbol!=num){

if (symbol>num){

printf("小伙子,猜大啦\n");

printf("再猜一次:");

scanf("%d", &symbol);

}

else{

printf("小伙子,猜小啦\n");

printf("再猜一次:");

scanf("%d", &symbol);

}

if (i==max-1){

printf("非常抱歉,小伙子,不行呀,在加油吧");

}

}

else{

printf("哎呦,不错仅仅花费了%d次,就猜到是%d", i, num);

break;

}

}

return 0;

}

/*

预设值的结果为:81

有奖竞猜下:31

小伙子,猜小啦

再猜一次:53

小伙子,猜小啦

再猜一次:70

小伙子,猜小啦

再猜一次:81

哎呦,不错仅仅花费了4次,就猜到是81

--------------------------------

Process exited after 19.45 seconds with return value 0

请按任意键继续. . .

*/

设定次数10次,猜数字

#include

#include

#include

int main(void){

int num, symbol, max=1;

srand(time(NULL));

num = rand()%100+1;

printf("请输入你本次猜的值为:");

scanf("%d", &symbol);

while (num!=symbol){

if (symbol>num){

printf("小伙子,猜大啦\n");

printf("再猜一次:");

scanf("%d", &symbol);

}

else{

printf("小伙子,猜小啦\n");

printf("再猜一次:");

scanf("%d", &symbol);

}

max++;

}

printf("哎呦不错哟,仅仅用了%d次,就猜到我心中的%d了", max, num);

return 0;

}

实现捐款到10万元,并求得每人平均捐款值

/*

__author__ = 'xiaofeizhang'

函数作用:实现捐款到10万元,并求得每人平均捐款值

*/

#include

#include

int main(){

float num,total=0,ave;

int i;

for(i=1;i<=1000;i++){

printf("请输入捐款金额:");

scanf("%f",&num);

total=total+num;

if(total>=100000)

break;

}

ave=total/i;

printf("捐款人数为:%d,平均捐款数目:%f",i,ave);

getch();

return 0;

}

/*

请输入捐款金额:1000

请输入捐款金额:1230

请输入捐款金额:3210

请输入捐款金额:123333

捐款人数为:4,平均捐款数目:32193.250000

*/

while循环,实现叠加

/*

__author__ = 'xiaofeizhang'

函数作用:while循环,实现叠加

*/

#include

int main(void){

int i=0, n, sum=0;

printf("请输入你想计算叠加数到:");

scanf("%d", &n);

while (i<=n){

sum += i;

i++;

}

printf("%d之内的叠加运算的结果为:%d", n, sum);

return 0;

}

/*

请输入你想计算叠加数到:12

12之内的叠加运算的结果为:78

--------------------------------

Process exited after 4.607 seconds with return value 0

请按任意键继续. . .

*/

计算一个公式

/*

__author__ = 'xiaofeizhang'

函数作用:计算一个公式

*/

#include

#include

int main(void){

int i, n;

double result=1;

printf("请输入参数(1-100): ");

scanf("%d", &n);

if (n==0){

printf("本次没包含0在内");

exit(0);

}

if (n==1){

printf("本次计算的结果为:1");

exit(0);

}

for (i=2; i<=n; i++){

result = 1.0/(1+result);

}

printf("本次计算的结果为:%f", result);

return 0;

}

/*

请输入参数(1-100): 31

本次计算的结果为:0.618034

--------------------------------

Process exited after 2.53 seconds with return value 0

请按任意键继续. . .

*/

斐波那契数列40项

/*

__author__ = 'xiaofeizhang'

函数作用: 斐波那契数列40项

*/

#include

int main(void){

int f1=1, f2=1, f3;

printf("%12d%12d", f1, f2);

for (int i=3; i<=40; i++){

f3 = f1+f2;

f1 = f2;

f2 = f3;

printf("%12d", f3);

if (i%5==0){

printf("\n");

}

}

return 0;

}

/*

1 1 2 3 5

8 13 21 34 55

89 144 233 377 610

987 1597 2584 4181 6765

10946 17711 28657 46368 75025

121393 196418 317811 514229 832040

1346269 2178309 3524578 5702887 9227465

14930352 24157817 39088169 63245986 102334155

--------------------------------

Process exited after 0.02965 seconds with return value 0

请按任意键继续. . .

*/

计算一数的阶乘

/*

__author__ = 'xiaofeizhang'

函数作用: 计算一数的阶乘

*/

#include

int main(void){

int i,n,result=1;

printf("说想算多少以内的阶乘:");

scanf("%d", &n);

if (n==0){

printf("0的阶乘为1");

}

else{

for (i=1;i<=n;i++){

result *=i;

}

printf("%d的阶乘为:%d", n, result);

}

return 0;

}

/*

说想算多少以内的阶乘:12

12的阶乘为:479001600

--------------------------------

Process exited after 2.506 seconds with return value 0

请按任意键继续. . .

*/

计算两个年份之间平年的年数,并输出

/*

__author__ = 'xiaofeizhang'

函数作用:计算两个年份之间平年的年数,并输出

*/

#include

#include

int main(void){

int year_min, year_max;

printf("请输入起始年份:");

scanf("%d", &year_min);

printf("请输入终止年份:");

scanf("%d", &year_max);

if (year_min>year_max){

printf("小伙子,算数不好,要好好学呀");

exit(0);

}

for (int i=year_min; i<=year_max; i++){

if ((i%4==0&&i%100!=0) || (i%400==0)){

continue;

}

else{

printf("%d是平年\n", i);

}

}

return 0;

}

/*

请输入起始年份:1984

请输入终止年份:2018

1985是平年

1986是平年

1987是平年

1989是平年

1990是平年

1991是平年

1993是平年

1994是平年

1995是平年

1997是平年

1998是平年

1999是平年

2001是平年

2002是平年

2003是平年

2005是平年

2006是平年

2007是平年

2009是平年

2010是平年

2011是平年

2013是平年

2014是平年

2015是平年

2017是平年

2018是平年

--------------------------------

Process exited after 6.785 seconds with return value 0

请按任意键继续. . .

*/

计算一公式

/*

__author__ = 'xiaofeizhang'

函数作用:计算一公式

*/

#include

#include

int main(void){

int m;

double result=1;

printf("说,这次想算多少以内的算法1-100: ");

scanf("%d", &m);

if (m==0){

printf("它不在基本的计算中哟");

exit(0);

}

if (m==1){

printf("本次计算的结果为:1");

exit(0);

}

for (int i=2; i<=m; i++){

result = result - 1.0/(i*i);

}

printf("本次计算的结果为:%f", result);

return 0;

}

/*

说,这次想算多少以内的算法1-100: 20

本次计算的结果为:0.403837

--------------------------------

Process exited after 2.763 seconds with return value 0

请按任意键继续. . .

*/

do···while实现奇数叠加

/*

__author__ = 'xiaofeizhang'

函数作用:do···while实现奇数叠加

*/

#include

int main(void){

int i=1, n, sum=0;

printf("请输入你想计算叠加数到:");

scanf("%d", &n);

do {

sum += i;

i=i+2;

}while(i<=n);

printf("%d 之内的奇数叠加运算的结果为:%d", n, sum);

return 0;

}

/*

请输入你想计算叠加数到:31

31 之内的奇数叠加运算的结果为:256

--------------------------------

Process exited after 3.213 seconds with return value 0

请按任意键继续. . .

*/

求各项求和的和

/*

__author__ = 'xiaofeizhang'

函数作用:求各项求和的和

*/

#include

int main(void){

int n, sum_part=0;

double sum=0;

printf("请输入n的取值:");

scanf("%d", &n);

for (int i=1; i<=n; i++){

for (int j=1; j<=i; j++){

sum_part += j;

}

sum += 1.0/sum_part;

sum_part = 0;

}

printf("和为:%f", sum);

return 0;

}

/*

请输入n的取值:4

和为:1.600000

--------------------------------

Process exited after 8.868 seconds with return value 0

请按任意键继续. . .

*/

求解 3x+5y+7z=100的所有非负数整数解

/*

__author__ = 'xiaofeizhang'

函数作用:求解 3x+5y+7z=100的所有非负数整数解

*/

#include

int main(void){

int x, y, z, sum;

for (x=1; x<=33; x++){

for(y=1; y<=20; y++){

for (z=1; z<=14; z++){

sum = 3*x+5*y+7*z;

if (sum == 100){

printf("解为:%d, %d, %d\n", x, y, z);

}

}

}

}

return 0;

}

/*

解为:1, 4, 11

解为:1, 11, 6

解为:1, 18, 1

解为:2, 2, 12

解为:2, 9, 7

解为:2, 16, 2

解为:3, 7, 8

解为:3, 14, 3

解为:4, 5, 9

解为:4, 12, 4

解为:5, 3, 10

解为:5, 10, 5

解为:6, 1, 11

解为:6, 8, 6

解为:6, 15, 1

解为:7, 6, 7

解为:7, 13, 2

解为:8, 4, 8

解为:8, 11, 3

解为:9, 2, 9

解为:9, 9, 4

解为:10, 7, 5

解为:11, 5, 6

解为:11, 12, 1

解为:12, 3, 7

解为:12, 10, 2

解为:13, 1, 8

解为:13, 8, 3

解为:14, 6, 4

解为:15, 4, 5

解为:16, 2, 6

解为:16, 9, 1

解为:17, 7, 2

解为:18, 5, 3

解为:19, 3, 4

解为:20, 1, 5

解为:21, 6, 1

解为:22, 4, 2

解为:23, 2, 3

解为:26, 3, 1

解为:27, 1, 2

--------------------------------

Process exited after 0.8456 seconds with return value 0

请按任意键继续. . .

*/

求两个数的最大公约数

/*

__author__ = 'xiaofeizhang'

函数功能:求两个整数的最大公约数和最小公倍数(枚举法,辗转消除法,更相减损法)

*/

#include

int main(void){

int m, n, t, minimum_common_multiple;

printf("请输入第一参数, 第二个参数:");

scanf("%d, %d", &m, &n);

minimum_common_multiple = m*n;

// m中放小的整数,n中放大的整数

if(m>n){

t = m;

m = n;

n = t;

}

// %%%%%%%%%%%%%%%%%%%%%%%%

// 枚举法

for(int i=m; i>=1; i--){

if(n%i==0 && m%i==0){

printf("枚举法\n");

printf("%d和%d的最小公倍数数为:%d\n", m, n, minimum_common_multiple/i);

printf("%d和%d的最大公约数为:%d\n", m, n, i);

printf("\n");

break;

}

}

// 辗转消除法

int x, y, tmp;

x = m;

y = n;

tmp = 1;

while(tmp){

tmp = y%x;

if (tmp==0){

printf("辗转消除法\n");

printf("%d和%d的最小公倍数数为:%d\n", m, n, minimum_common_multiple/x);

printf("%d和%d的最大公约数为:%d\n", m, n, x);

printf("\n");

}

else {

y = x;

x = tmp;

}

}

// 更相减损法

int w, z, a;

w = m;

z = n;

a = 1;

while(a){

a = w%z;

if (a==0){

printf("更相减损法\n");

printf("%d和%d的最小公倍数数为:%d\n", m, n, minimum_common_multiple/z);

printf("%d和%d的最大公约数为:%d\n", m, n, z);

printf("\n");

}

else {

w = z;

z = a;

}

}

return 0;

}

/*

请输入第一参数, 第二个参数:99,120

枚举法

99和120的最小公倍数数为:3960

99和120的最大公约数为:3

辗转消除法

99和120的最小公倍数数为:3960

99和120的最大公约数为:3

更相减损法

99和120的最小公倍数数为:3960

99和120的最大公约数为:3

--------------------------------

Process exited after 10.33 seconds with return value 0

请按任意键继续. . .

*/

求一正整数限定内所有素数

/*

__author__ = 'xiaofeizhang'

函数作用:求一正整数限定内所有素数

*/

#include

#include

#include

int main(void){

int num;

bool isprime = true;

printf("请输入一个正整数:");

scanf("%d", &num);

if(num==0 || num==1){

printf("%d不是素数", num);

exit(0);

}

for (int j=2; j<=num; j++){

for (int i=2; i<=sqrt(j); i++){

if (j%i == 0){

isprime = false;

break;

}

else{

isprime = true;

}

}

if (isprime == true){

printf("%d是素数\n", j);

}

}

return 0;

}

/*

请输入一个正整数:100

2是素数

3是素数

5是素数

7是素数

11是素数

13是素数

17是素数

19是素数

23是素数

29是素数

31是素数

37是素数

41是素数

43是素数

47是素数

53是素数

59是素数

61是素数

67是素数

71是素数

73是素数

79是素数

83是素数

89是素数

97是素数

--------------------------------

Process exited after 1.651 seconds with return value 0

请按任意键继续. . .

*/

数列12,22,32,···,202的和

/*

__author__ = 'xiaofeizhang'

函数功能:求数列12,22,32,···,202的和 三种方法(for,while,do···while)

*/

#include

int main(void){

// for循环

int i, sum_for=0;

for (i=1; i<=20; i++){

sum_for += 10*i+2;

}

printf("for循环求法\n");

printf("数列12,22,32,···,202的和为:%d\n", sum_for);

printf("\n");

// while循环

int j=1, sum_while = 0;

while(j<=20){

sum_while += 10*j+2;

j++;

}

printf("while循环求法\n");

printf("数列12,22,32,···,202的和为:%d\n", sum_while);

printf("\n");

// do···while循环

int k=1, sum_do_while = 0;

do {

sum_do_while += 10*k+2;

k++;

}while(k<=20);

printf("do···`while循环求法\n");

printf("数列12,22,32,···,202的和为:%d\n", sum_do_while);

return 0;

}

/*

for循环求法

数列12,22,32,···,202的和为:2140

while循环求法

数列12,22,32,···,202的和为:2140

do···`while循环求法

数列12,22,32,···,202的和为:2140

--------------------------------

Process exited after 0.556 seconds with return value 0

请按任意键继续. . .

*/

100-1000之间的水仙花数

/*

__author__ = 'xiaofeizhang'

函数作用:100-1000之间的水仙花数

*/

#include

int main(void){

int i, j, k, m, n;

for (i=100; i<1000; i++){

j = i/100; // 百分位

k = i%100/10; // 十分位

m = i%10; // 个位

if (i == j*j*j+k*k*k+m*m*m){

printf("%d是水仙花数\n", i);

}

}

return 0;

}

/*

153是水仙花数

370是水仙花数

371是水仙花数

407是水仙花数

--------------------------------

Process exited after 0.4438 seconds with return value 0

请按任意键继续. . .

*/

模拟实现:学生成绩管理系统

/*

__author__ = 'xiaofeizhang'

函数作用:模拟实现:学生成绩管理系统

*/

#include

#include

#include

int main(void){

int choice;

while(1){

system("cls");

printf("\t\t\t*********学生成绩管理系统***********\n");

printf("\t\t\t* 1. 从文件读取学生的成绩 *\n");

printf("\t\t\t* 2. 添加学生的成绩 *\n");

printf("\t\t\t* 3. 显示学生的成绩 *\n");

printf("\t\t\t* 4. 按照姓名查找学生的成绩 *\n");

printf("\t\t\t* 5. 按照姓名学生的成绩 *\n");

printf("\t\t\t* 6. 统计学生的总成绩和平均成绩*\n");

printf("\t\t\t* 7. 统计学生的人数 *\n");

printf("\t\t\t* 8. 给学生成绩排名 *\n");

printf("\t\t\t* 9. 保存学生的成绩 *\n");

printf("\t\t\t* 0. 退出 *\n");

printf("请输入选项:0-9: ");

scanf("%d", &choice);

switch (choice){

case 0:

printf("谢谢使用\n");

exit(0);

case 1:

printf("从文件读取学生的成绩\n");

break;

case 2:

printf("添加学生的成绩\n");

break;

case 3:

printf("显示学生的成绩\n");

break;

case 4:

printf("按照姓名查找学生的成绩\n");

break;

case 5:

printf("按照姓名学生的成绩\n");

break;

case 6:

printf("统计学生的总成绩和平均成绩\n");

break;

case 7:

printf("统计学生的人数\n");

break;

case 8:

printf("给学生成绩排名\n");

break;

case 9:

printf("保存学生的成绩\n");

break;

default:

printf("\n输入不对\n");

break;

}

printf("按任意键继续...\n");

getch();

}

return 0;

}

/*

*********学生成绩管理系统***********

* 1. 从文件读取学生的成绩 *

* 2. 添加学生的成绩 *

* 3. 显示学生的成绩 *

* 4. 按照姓名查找学生的成绩 *

* 5. 按照姓名学生的成绩 *

* 6. 统计学生的总成绩和平均成绩*

* 7. 统计学生的人数 *

* 8. 给学生成绩排名 *

* 9. 保存学生的成绩 *

* 0. 退出 *

请输入选项:0-9: 3

显示学生的成绩

按任意键继续...

*/

c语言基础循环练习题,C语言练习题:循环部分相关推荐

  1. c语言基础循环程序设计,C语言编程新手入门基础——循环详解!

    C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...

  2. python有哪些软件包用来考察变量之间的相关性_Python语言基础考察点:python语言基础常见考题(一)...

    一.python是静态还是动态类型?是强类型还是弱类型? 1.动态强类型语言(不少人误以为是弱类型) 不要傻傻分不清 2.动态还是静态指的是编译期还是运行期确定类型 3.强类型指的是不会发生隐式类型转 ...

  3. c++语言while循环,c++ c语言while 循环语句入门基础教程

    c++ c语言while 循环语句入门基础教程 我们来看While 循环语句,它跟 For 循环区别在于,For 循环一般知道循环次数,在第一行里头就指明了,而while循环一般不知道循环次数,下面我 ...

  4. c语言基础学python_D11——C语言基础学PYTHON

    C语言基础学习PYTHON--基础学习D11 20180908内容纲要: 1.RabbitMQ消息队列 (1)RabbitMQ安装 (2)Rabbits示例 模式一:fanout 模式二:direct ...

  5. R 语言怎么保存工作目录到当前路径_【R语言基础】01.R语言软件环境搭建及常用操作...

    一.R语言简介 R语言是专业的统计分析软件,来自著名数据科学网站(http://www.kdnuggets.com/)发起的一个2019年统计分析和数据挖掘软件使用情况的调查结果: 表明R语言是该领域 ...

  6. c语言基础知识难点,C语言基础的几个难点解析

    [摘要]本文结合C语言的教学实践,讲解了C 语言基础知识的几个难点,是教学过程中学生较难掌握和容易出错的重要知识点.希望可以对学习C语言的读者提供参考,能更好地理解C程序设计的思想.编写出优秀的C程序 ...

  7. c语言基础知识入门(c语言基础知识入门代码)

    C语言怎么入门 初学C语言的基本 一开始 由算法开始,毕竟你以前学的算法和c有所不同 然后开始学程序流程控制 接着学内存处理机制 提高深入编程 然后与其他软件 如sql web 联系起来学习 后面的 ...

  8. C语言基础01——初识C语言

    目录 什么是C语言 第一个C语言程序:HelloWorld 初识数据类型 初识常量.变量 初始字符串.转义字符.注释 初识选择语句.循环语句 初识函数.数组 初识关键字 定义常量和宏 格式化输入输出 ...

  9. C语言基础专业书,C语言程序设计基础

    C语言程序设计基础 (2017年清华大学出版社出版的图书) 编辑 锁定 讨论 上传视频 <C语言程序设计基础>是2017年清华大学出版社出版的图书,作者是贾学斌.宋海民.胡大威. 书    ...

  10. c语言基础知识选择题,C语言基础知识选择试题.doc

    C语言基础知识选择试题 1089 答案 :C 在下列设备中,属于输出设备的是( ). a:键盘 b:数字化仪 c:打印机 c:扫描仪 1018 答案 :A 在Windows98中,用户同时打开的多个窗 ...

最新文章

  1. 记录一次提交开源JAR包到中央仓库的过程
  2. Tkinter的Menu组件
  3. 音视频技术开发周刊(第128期)
  4. dabs是什么意思_cpdd是什么意思(网络语cpdd是什么梗啥意思)
  5. 学会这一招,轻松玩转 app 中混合应用自动化测试
  6. 谈一谈,如何在没有实际项目环境下,既能提高科研水平又能锻炼工程能力?...
  7. vue的视图化创建项目_vuecli 创建项目的方法,以及图像化操作【23】
  8. Unity安装问题--闪退,进度卡住,,报错不完整
  9. zuc算法代码详解_ZUC算法了解
  10. 输出阻抗与带负载能力问题的分析
  11. TransactionSystemException
  12. c语言十进制转二进制过程,C语言十进制转二进制代码实例
  13. 20222817《Linux内核原理与分析》第五周作业
  14. gamemaker学习笔记:截屏
  15. 优化Docker镜像大小方案 2017年12月10日 17:54:46 阅读数:1774 标
  16. 姓名拼音首字母缩写_公司首字母缩写
  17. Android2.3.4陀螺仪移植
  18. 微信退款返回的几种情况
  19. 哈工大自动出校申请(selenium+chromedriver)(2021.3.22更新)
  20. 【Python】某商店T恤的价格为35元/件(2件9折,3件以上8折)裤子的价格为120元/条(2条以上9折).小明在该店买了3件T恤和2条裤子,请计算并显示小明应该付多少钱?

热门文章

  1. 计算机毕业设计springboot+vue基本微信小程序的校园二手物品交易平台系统
  2. d21包,d21库,d21类 Python
  3. 点评阿里云盛大云代表的云计算IaaS产业
  4. 关于HML要玩物联网这件事 之 CC3200 TCP Client
  5. 常见的http请求响应的状态码
  6. 页面静止一定时间没有操作跳转页面
  7. vue 微信公众号 使用weixin-java-mp、JSSDK自定义分享
  8. 【报告分享】万物互联时代的操作系统报告(附下载)
  9. 《Elixir In Action》第一章--第五章笔记
  10. [学习][Vim]行号的显示与隐藏