您的位置:首页 > 编程语言 > C语言/C++

Day4_c语言_循环结构练习

2014-10-18 11:26 253 查看
//

// main.m

// Day4_循环_王佳兴

//

// Created by 王佳兴 on 14-10-16.

// Copyright (c) 2014年 lanou3g.com蓝鸥科技. All rights reserved.

//

#import <Foundation/Foundation.h>

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

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

// int i, num, max = 0;

// for(i = 0; i < 19; i++){

// num = arc4random() % (100 - 10 + 1) + 10;

// printf("%d ", num);

// if (num >= max) {

// max = num;

// }

// }

// printf("The maxnumber is %d\n",max);

//2.(**)编程将所有“水仙花数”打印出来,并打印其总个数。 “水仙花数”是一个各个位立方之和等于该整数的三位数

// int a100, a10, a1, a = 100;

// while (a < 1000) {

// a100 = a / 100;

// a10 = a % 100 / 10;

// a1 = a % 10;

// if(a == a100 * a100 * a100 + a10 * a10 * a10 + a1 * a1 * a1) {

// printf("水仙花数是:%d", a);

// }

// a++;

// }

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

// int a, b, c;

// for (a = 1; a < 10; a++) {

// for (b = 0; b < 10; b++) {

// for (c = 1; c < 10; c++) {

// int abc = a * 100 + b * 10 + c;

// int cba = c * 100 + b * 10 + a;

// if (abc + cba == 1333){

// printf("a:%d b:%d c:%d\n", a, b, c);

// }

// }

// }

// }

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

// //第一种方法:普通方法

// printf("input two numbers:");

// int num1, num2, a = 1,b;

// scanf("%d%d", &num1, &num2);

// while (a) {

// if (a * num1 % num2 == 0) {

// printf("最小公倍数是:%d\n", num1 * a);

// break;

// }

// a++;

// }

// if (num1 > num2) {

// b = num2;

// }else{

// b = num1;

// }

// while (b) {

// if (num1 % b == 0 && num2 % b == 0) {

// printf("最大公约数是:%d\n",b);

// break;

// }

// b--;

// }

// //第二种方法:辗转相除

// printf("input two numbers:");

// int a, b, c, num1, num2;

// scanf("%d%d", &num1, &num2);

// a = num1;

// b = num2;

// c = num1 % num2;

// while(c != 0)

// {

// num1 = num2;

// num2 = c;

// c = num1 % num2;

// }

// printf("最大公约数是:%d\n", num2);

// printf("最小公倍数是:%d\n", a * b / num2);

//5. (***)一个球从100m高度自由落下,每次落地后反跳回原来高度的一半,再落下,再反弹。求它在第
10次落地时,共经过多少米?第 10次反弹多高

// int i = 0;//i为落地次数和反弹次数 a为输入次数

// float high = 100;//反弹高度

// distance += high;//经过总距离

// while (i < 10) {

// high = high / 2;

// distance += high * 2;

// i++;

// }

// printf("high is %f, distance is %f", high, distance);

// float sum=0;

// int i=0;

// float height=100;

// sum+=height;

// while(i<2)

// {

// height=height/2;

// sum+=2*height;

// i++;

// }

// printf("总长度:%f
第10次跳%f米",sum,height);

//6. (****)输入 n,分别用*输出边长为 n的实心菱形和空心菱形。

// 例如:n = 3
时,输出:

// *

// ***

// *****

// ***

// *

// *

// * *

// * *

// * *

// *

// printf("请输入边长:");

// int n, i, j, k;

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

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

// for(j = 1; j <= n - i; j++){

// printf(" ");

// }

// for (k = 1; k <= i * 2 - 1; k++) {

// printf("*");

// }

// printf("\n");

// }

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

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

// printf(" ");

// }

// for (k = 1; k <= n * 2 - i * 2 - 1; k++) {

// printf("*");

// }

// printf("\n");

// }

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

// for (j = 1; j <= n - i; j++) {

// printf(" ");

// }

// printf("*");

// if (i >= 2) {

// for (k = 1; k <= i * 2 -3; k++) {

// printf(" ");

// }

// printf("*");

// }

// printf("\n");

// }

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

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

// printf(" ");

// }

// printf("*");

// if (i < n - 1) {

// for (k = 1; k <= n * 2 - 3-i*2; k++) {

// printf(" ");

// }

//

// printf("*");

// }

// printf("\n");

// }

//7.(****)反复校验用户输入的生日,包括年、月、日。直到年、月、日都合法

// int year, month, date;

// start:

// printf("请输入您的生日:");

// scanf("%d %d %d", &year, &month, &date);

// if (year >= 1930 && year <= 2014) {

// if (month >= 1 && month <= 12) {

// if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {

// if (date >= 1 && date <= 31) {

// printf("合法!\n");

// }else{

// printf("日期不合法!\n");

// goto start;

// }

// }

// if(month == 4 || month == 6 || month == 9 || month == 11){

// if (date >= 1 && date <= 30) {

// printf("合法!\n");

// }else{

// printf("日期不合法!\n");

// goto start;

// }

// }

// if (month == 2) {

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

// if (date >= 1 && date <= 29) {

// printf("合法!\n");

// }else{

// printf("日期不合法!\n");

// goto start;

// }

// }else{

// if (date >= 1 && date <= 28) {

// printf("合法!\n");

// }else{

// printf("日期不合法!\n");

// goto start;

// }

// }

// }

// }else{

// printf("月份不合法!\n");

// goto start;

// }

// }else{

// printf("年份不合法!\n");

// goto start;

// }
return
0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: