作为一个初学c语言一周的小白,在这里分享一下自己的做题日常
【1】每一种数据类型都是有一定的表达范围的,编程实现一种算法,在不假定数据类型长度的条件下,算出当前系统的整型 int 所能表达的最大值。
要求:
不能使用系统宏定义 INT_MAX。
#include <stdio.h>
int main()
{
int a;//定义一个整型a
int b = sizeof(a);//用sizeof函数算出a的在字节大小
int c = b * 8;//因为1byte=8bit
/*这里上网搜索有了平方的表达,所以使用了一个pow函数,算出一个整型变量的最小值以及最大值*/
int min = -1 * pow(2,c-1);
int max = pow(2,c-1)-1;
printf("整型的取值范围是%d~%d\n",min,max);
return 0;
}
/*tip:如果后面学到更多的知识,会尝试用高级简便的方法重新解决这个问题*/
基本数据类型、基[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q6ySSUhV-1688193144907)(课后练习.assets/1688175334160.png)]本算数运算)
【2】编写一个程序,计算N升纯净水所包含的分子个数,结果用科学计数法表示。
#include <stdio.h>
#include <math.h>
int main()
{
printf("请输入水的升数:");
int a;
scanf("%d",&a);
double number = a * 3.34e25;
printf("%d升纯净水所包含的分子个数为%e\n",a,number);//%e是科学记数法输出的格式
//一升水有3.34*10^25个水分子
return 0;
}
(字符与字符串)
【3】简述 ‘a’ 与 “a” 的异同。
'a’表示字符a,在c语言ASCII表的值为97,在c语言中占1个字节,是一个变量
"a"表示字符串a,在c语言中占2个字节,是一个常量
(破除思维定式)
【4】编写一个程序,计算 1+2+3+4+…+n 的值。
#include <stdio.h>
int main()
{
printf("请输入n=");
int i;
int n;
scanf("%d",&n);
int sum = 0;
for (i = 1;i <= n; i++)
//for语句的格式是for(条件1;条件2;条件3){code}(这里后面千万不可以加";",当时就是因为这个浪费了很多事时间)
/*这里也是上网搜了一下循环语句,可能使用while的方法更容易解决*/
{
sum += i;
}
printf("%d",sum);
return 0;
}
(基本输入输出、基本算术运算)
【5】编写一个程序,将用户输入的天数转化为等价的星期数和天数。
例如:
输入:18
输出:2星期零4天
#include <stdio.h>
int main()
{
printf("请输入天数:");
int number;
scanf("%d",&number);
int week = number / 7;
int day = number % 7;
printf("%d星期零%d天",week,day);
return 0;
}