博客
关于我
C入门【四】
阅读量:272 次
发布时间:2019-03-01

本文共 1037 字,大约阅读时间需要 3 分钟。

1.在屏幕上输出以下图案:在这里插入图片描述

思考过程:我第一次看到这道题时,我脑海中出现两个关键词 for 和 数字 ,出现 for 的原因是以上图案出现太多重复内容,1.可以用printf一行一行打印 但是这样太蠢 2.使用循环快速就解决。

怎么使用for 分析!! 以上图形 又有了两个部分上三角和下三角,三个变量 行数 空格 * 重复出现。所以首先在本子上 写出 三者关系以及数量变化过程

行数 空格 和 *
1 4 1
2 3 3
3 2 5
4 1 7

行数和空格变化相反 满足2n-1;

这道题也可以加深难度 可以自定图形大小,简单的变量引用变化,此处不讨论

int i, j, k;	//正三角	for (i = 1; i <= 5; i++){   		for (k = 1; k <= 5 - i; k++){   			printf(" ");		}		for (j = 1; j <= 2 * i - 1; j++){   			printf("*");		}		printf("\n");	}	//倒三角	for (i = 4; i >= 1; i--){   		for (k = 1; k <= 5 - i; k++){   			printf(" ");		}		for (j = 1; j <= 2 * i - 1; j++){   			printf("*");		}		printf("\n");	}

.求出0~999之间的所有“水仙花数”并输出。

“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=1+5+3?,则153是一个“水仙花数”。

这道题纯粹的数学公式变化成计算机语言
153=1^3 + 5^3 +3^3;变成计算机语言 然后加上循环

int n;	int f1, f2, f3;	int max;	for (n = 0; n <= 999; n++){   		max = pow((n % 10), 3) + pow(((n / 10) % 10), 3) + pow(((n / 100)), 3); 		//此处可以变成条件写入if中 但为了更加直观		if (n == max){   			printf("%d\n", n);		}	}

总结

C语言入门阶段最应该加强基础训练,训练逻辑思维,以及改变以往的思考方式,如何将字面内容转变为你子脑海中的抽象函数,然后将其转变成用C语言或其它 编程语言实现。

转载地址:http://kkza.baihongyu.com/

你可能感兴趣的文章
Mysql中怎样使用update更新某列的数据减去指定值
查看>>
Mysql中怎样设置指定ip远程访问连接
查看>>
mysql中数据表的基本操作很难嘛,由这个实验来带你从头走一遍
查看>>
Mysql中文乱码问题完美解决方案
查看>>
mysql中的 +号 和 CONCAT(str1,str2,...)
查看>>
Mysql中的 IFNULL 函数的详解
查看>>
mysql中的collate关键字是什么意思?
查看>>
MySql中的concat()相关函数
查看>>
mysql中的concat函数,concat_ws函数,concat_group函数之间的区别
查看>>
MySQL中的count函数
查看>>
MySQL中的DB、DBMS、SQL
查看>>
MySQL中的DECIMAL类型:MYSQL_TYPE_DECIMAL与MYSQL_TYPE_NEWDECIMAL详解
查看>>
MySQL中的GROUP_CONCAT()函数详解与实战应用
查看>>
MySQL中的IO问题分析与优化
查看>>
MySQL中的ON DUPLICATE KEY UPDATE详解与应用
查看>>
mysql中的rbs,SharePoint RBS:即使启用了RBS,内容数据库也在不断增长
查看>>
mysql中的undo log、redo log 、binlog大致概要
查看>>
Mysql中的using
查看>>
MySQL中的关键字深入比较:UNION vs UNION ALL
查看>>
mysql中的四大运算符种类汇总20多项,用了三天三夜来整理的,还不赶快收藏
查看>>