标签:dex sum 失败 异或 换行 表达 .com 画图 多次
下半部分菱形for(i=1;i<=n/2;i++) //余下n/2行另外算
for(j=0;j<i;j++)
printf(" ");
for(j=0;j<(n/2-i)2+1;j++)
printf(" ");
发现输出*号前输出的空格数还是不对,少了一倍,所以将每次输出一个空格改为每次输出两个空格,得到正确结果
for(i=0; i<7;i++) 此循环用于计算各面值的张数
{
b[i]=money/a[i]; 计算面值a[i]的张数,并记录在b[i]
money-=a[i]*b[i]; 减去已取的金额,money为下一次循环的金额
printf("%3d元:%3d张\n", a[i], b[i]);
}
将输出语句该为%3d,每个数值占三位,得到正确结果
如果flag=1,输出ERROR;否则输出sum
发现自己用的都是if语句,忽略了非法字符的判断,最后改用if , else if的结构,在判断完加减乘除的后面,用else判断非法字符,若为非法字符,flag=1
得到正确答案;
数组的初始化:类型名 数组名 [数组长度]={初值表},从下标为0开始逐一对应,静态数组没有初始化,所有元素均为0
数组名是一个地址常量,存放数组内存空间的首地址
数组是最基本的构造类型,它是一组相同类型数据的有序集合。在程序中使用数组,可以让一批相同类型的变量使用同一个数组变量名,用下标加以区分,它的有点是表达简洁,可读性好,便于使用循环结构
直接插入排序法:1)输入n,数组a[n]
2)for (k=1; k< n; k++) {
temp=a[k]; //用来临时保存将要进行插入操作的元素temp
for (i=k-1; i>=0&&a[i]>temp; j--) { //寻找插入位置并移动元素
a[i+1]=a[i];}
a[i+1]=temp; } 将tmp插入到寻找到的位置i+1
3)依次输出n个数组元素的值
区别:顺序查找的特点就是从表的第一个元素开始一个一个向下查找,如果有和目标一致的元素,查找成功;如果到最后一个元素仍没有目标元素,则查找失败;而二分查找法是从中间开始查找,逐步缩小范围,对于大数据的处理比较适用,减少了循环次数,效率更高;
初始化:分行赋初值:类型名 数组名 [行长度] [列长度]={ {初值表0},..... ,{初值表k},...... },把初值表k中的数值依次赋给第k行;
顺序赋值法:类型名 数组名 [行长度] [列长度]={初值表},依次赋值;
下三角:i>=j 上三角:i<=j 对称:i==j 或 i+j==N-1
有一系列元素时用一维数组,如果这些元素有一定的位置逻辑,如矩阵,就用二维数组
对二位数组的应用还不太了解,与循环结合常用于解决那些问题?
标签:dex sum 失败 异或 换行 表达 .com 画图 多次
原文地址:http://www.cnblogs.com/mayifang/p/7891869.html