问题一:printf("%.1fn",8/5);的输出为0.0
(原因:前提条件1.printf()不会进行数据类型的转换
前提条件2:浮点类型和整型在内存中排布不同
而格式字符串"%.1fn"决定了按浮点读取变量内存块数据)
问题二:printf(''%d'',8.0/5.0);的输出为负数
注:问题一与问题二的都涉及了整数和浮点数编码问题(待解决)
知识点漏点:1.printf("%.1f",a); 表示输出结果保留1位小数,将1换成2就是输出结果保留2位小数;
2.%If是c语言中double的格式字符
竞赛问题:在竞赛过程中不要打印任意的提示消息;因为输入是自动化的
算法学习:
算法1.圆柱体的表面积的计算
注意:最好使用const+数据类型+宏定义名称+对应数据;
注意题中要求的输出,不要自作主张去输出提示性语句;
2.算法2:三位数反转:
解法一:是单独将三个数字提取出来,将位置交换(没有成为一个三位数,是数字直接拼接),然后直接输出【注意的是,这个地方没有必要单独设计单独的变量来储存他的个位数,十位数,百位数】
解法二:是将个位数,十位数,百位数的数字提取出来,再分别乘上100,10,1来变成百位数,十位数,个位数。变成一个新的三位数。
注意:两种解法的不同之处就在于:当个位数为0时,如520,解法一的结果是025,解法二就是25.具体情况要询问监考人员。
算法3:交换两个变量的值
解法一:三变量法:关键是创建一个变量,来临时储存值
解法二:
#include<stdio.h>
int main()
{int a, b;scanf("%d%d", &a, &b);a = a + b;//此时a就是a,b之和b = a - b;//b就是之和减去b,就是之前的a了a = a - b;//a就是之和减去之前的a就是之前的b了,所以就实现了交换printf("%d %dn", a, b);return 0; }
推荐:三变量法,越简单处理问题越快捷越好;
-------------------------------之前是顺序结构程序设计-----------------------------------
----------------------------------分支结构程序编程----------------------------------------
算法一:鸡兔同笼:
我的
#include <stdio.h>
#include <stdlib.h>
int main()
{int r_num,c_num,h_num,t_num;scanf("%d%d",&h_num,&t_num);r_num=h_num-c_num;c_num=(t_num-r_num*4)/2;if(r_num<0 || c_num==0){printf("No answer");}printf("%d %dn",r_num,c_num);return 0;
}
答案:
#include<stdio.h>
int main(){int a, b, n, m;scanf("%d%d", &n, &m);a = (4*n-m)/2;b = n-a;if(m % 2 == 1 || a < 0 || b < 0)printf("No answern");elseprintf("%d %dn", a, b);return 0;}
与5月28日我认为这是因为我的两个计算式都含有未知数,第一个变量是无法算出值的;答案2就是将第一个变量的值计算出来了
-------准备考工作室的第一天,嘻嘻,第一次写博客的泡菜鱼,虽然菜,希望以后不多于哦-----------
在线求求算法的学习历程呀
------------------------------------------5.28-----------------------------------------------------------
----------------------------------------进程:42/723-------------------------------------------------
本文发布于:2024-01-31 12:52:25,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170667674628653.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |