c语言循环练习[xcode]

《第 03 讲:循环结构》
1. (*)有 10 亿元钱每天花一半,可以花多少天?


#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {

int money = 100000000;

int i = 0;

while (money != 0) {

money /= 2;

printf("%2d %d\n", i + 1, money);

i++;

}

printf("第%d天可以花光\n",i);

return 0;

}

1 50000000

2 25000000

3 12500000

4 6250000

5 3125000

6 1562500

7 781250

8 390625

9 195312

10 97656

11 48828

12 24414

13 12207

14 6103

15 3051

16 1525

17 762

18 381

19 190

20 95

21 47

22 23

23 11

24 5

25 2

26 1

27 0

第27天可以花光

Program ended with exit code: 0

2. (**)随机产生 20 个[10 , 100]的正整数,输出这些数以及他们中的最大数


#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {

int randint = 0, max = 0, i = 0;

printf("输入任意键打印20个[10, 100]的正整数,ctrl+d退出:");

while (getchar() != EOF) {

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

randint = arc4random() % 91 + 10;

printf("%d ", randint);

max = max > randint ? max : randint;

}

printf("\nmax is %d\n", max);

printf("输入任意键打印20个[10, 100]的正整数,ctrl+d退出:");

}

return 0;

}

结果:

输入任意键打印20个[10, 100]的正整数,ctrl+d退出:

37 74 26 81 83 73 25 53 31 38 64 21 45 97 13 33 13 59 48 64

max is 97

输入任意键打印20个[10, 100]的正整数,ctrl+d退出:

3. (**)编程将所有“水仙花数”打印出来,并打印其总个数。 “水仙花数”

是一个 各个位立方之和等于该整数的三位数。


#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {

int i = 0, j = 0, k = 0;

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

for (j = 0; j < 10; j++) {

for (k = 0; k < 10; k++) {

if( (i*100+j*10+k) == (i*i*i + j*j*j + k*k*k) ){

printf("%d%d%d ",i,j,k);

}

}

}

}

return 0;

}

结果:

153 370 371 407 Program ended with exit code: 0

4.(**)已知 abc+cba = 1333,其中 a,b,c 均为一位数,编程求出满足条件的 a,b,c 所有组合


#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {

int i = 0, j = 0, k = 0;

for (i = 1; i < 10; i++)

{

for (j = 0; j < 10; j++)

{

for (k = 0; k < 10; k++)

{

if(i*100 + j*10 + k + k*100 + j*10 + i == 1333)

{

printf("%d%d%d ", i, j, k);

}

}

}

}

putchar(‘\n‘);

return 0;

}

结果:

419 518 617 716 815 914

Program ended with exit code: 0

5. (***)输入两个数,求最大公约数和最小公倍数。(用两种方法:辗转相除法和普通方法)


#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {

int a = 0, b = 0, c = 0, t = 0;

printf("Please input two int:");

while (scanf("%d%d", &a, &b) != EOF) {

if(a < b){

a = a ^ b;

b = a ^ b;

a = a ^ b;

}

c = a * b;

while(b != 0 ){

t = a % b;

a = b;

b = t;

}

printf("The GCD is %d\n", a);

printf("The LCM is %d\n", c / a);

printf("Continue input two int:");

}

return 0;

}

结果

Please input two int:12 36

The GCD is 12

The LCM is 36

Continue input two int:

时间: 2024-12-28 02:07:30

c语言循环练习[xcode]的相关文章

反汇编--C语言(循环)

Debug (调试版)  汇编和 Release (发行版) 汇编的认识 调试版基本不优化,发行版则一般都优化到极致. Windows驱动开发中,一般称为Check版本和Free版本 我们暂时只研究Debug(调试版) for循环C实现: int func(int a,int b) { int c=a+b; int i; for(i=0;i<50;i++){ c=c+i; } return c; } void main(){ int sum; sum=func(2,5); return 0; }

C语言循环中减少判断——————【Badboy】

为了让编译器更好地优化循环,应该尽量让循环中减少判断,方法之一是将判断语句整合进表达式.还是这个例子: for (int i = 0; i < 1000*10; i++) { sum += data[i/1000][i%10]; } 假如我们需要加一个判断,只有非负整数才需要作求和运算: for (int i = 0; i < 1000*10; i++) { if (data[i/1000][i%10] >= 0) sum += data[i/1000][i%10]; } 下面将这个判断

Go语言循环判断的使用~

Go 语言条件语句 条件语句需要开发者通过指定一个或多个条件,并通过测试条件是否为 true 来决定是否执行指定语句,并在条件为 false 的情况在执行另外的语句. 下图展示了程序语言中条件语句的结构: if 语句由布尔表达式后紧跟一个或多个语句组成. 语法 Go 编程语言中 if 语句的语法如下: if 布尔表达式 { // 在布尔表达式为 true 时执行 } 栗子~ 1 package main 2 3 import ( 4 "fmt" 5 ) 6 7 func main()

C语言-循环结构及break、continue

循环结构 -------------------------- --1-- 结构循环 1.1 while循环 1.2 do…while循环 1.3 for循环 --2-- break和continue 2.1 break关键字 2.2 continue关键字 -------------------------- [写在开头:] 『 生活中的循环: C语言中的循环: 循环结构是程序中一种很重要的结构.其特点是,在给定的条件成立时,反复执行某程序段,直到条件不成立为止. C语言中提供了多种循环语句:

C语言循环控制语句

一.什么是循环? 当条件满足的时候,重复的执行某一个代码段 构成循环的条件是什么? 1)循环退出的条件 2)循环体(重复执行的代码段) 3)让循环正常退出条件满足的代码 C语言有哪几种循环? while循环 do...while循环 for循环 二.1.while循环 格式: while(表达式){ 语句块1; } 2.使用 int i=0; while(i<5){ printf("%d\n",i); i++; //1  2 } 3.陷阱 while死循环(循环条件永远为真)的问

C语言循环结构-while/do...while/for--逢3过,阶乘,九九乘法表

C语言中的循环主要有三种: while循环,do-while循环和for循环 while循环:先判断条件是否成立,如果条件成立将执行其下的循环体,如果条件不成立一次都不执行. 语法: while(条件) { //循环体; } 示例1:打印100遍"我是最棒的!" int i=1; while(i<=100){ printf("第%d遍:我是最棒的!\n",i); i++; } 示例1:打印100遍"我是最棒的!" int i=1; whil

C语言循环的嵌套

注:参考网络资源拟制,如雷同请见谅循环的嵌套:一个循环体语句中又包含另一个循环语句,称为循环嵌套.嵌套注意事项:1.使用循环嵌套时,内层循环和外层循环的循环控制变量不能相同.2.循环嵌套结构的书写,最好采用"右缩进"格式,以体现循环层次的关系.3.尽量避免太多和太深的循环嵌套结构用途:循环嵌套可以帮助我们解决很多问题,在C语言中经常被用于按行列方式输出数据,例如: //////////////// // 九九乘法表 /////////////// #include <stdio.

go语言循环语句 for

Go语言中的循环语句只支持for关键字,而不支持while和do-while结构. sum := 0 for i := 0; i < 10; i++ { sum += i } 无限循环的写法: sum := 0 for { sum++ if sum > 100 { break } } 条件表达式中也支持多重赋值: a := []int{1, 2, 3, 4, 5, 6} for i, j := 0, len(a) – 1; i < j; i, j = i + 1, j – 1 { a[i

c语言循环打印问题之A-F及VC6++断点开发工具的使用

1. 利用for循环输出 ABCDEF 6个 1->6BCDEF 5个 2->6CDEF 4个 3->6DEF 3个 4->6EF 2个 5->6F 1个 6 行 row 1->6列 col 'A'+row #include <stdio.h> int main() { int rows = 6; char ch = 'A'; //可以先把问题简单化 //输出6行A-F for(rows = 0; rows < 6; rows++) { for(ch