文章目录
- 前言
- 一、错误分析
- 二.题目讲解
前言
由于江小南的c语言上课一直打摆子,害怕万一考试无法通过,所以出此文讲解,希望江小南同学以后上课认真听讲!!
一、错误分析
1.1printf
printf的使用问题,printf是一个打印函数,要有始有终,格式为printf("&&&&");,上面没有对printf,的后面进行输入,所以导致报错
1.2变量的定义
int n, sum = 0, i,这个不能用变量定义变量,甚至都出现了,没有定义过类型的变量,正确的应该是int n ,sum ,i,u,t=0;但是这样也觉得麻烦,其实可以在for循环体内去定义循环变量,比如for(int i=0;i<n;i++),这样可以节省变量,可以要代码显得不冗长。
1.3逻辑错误
即便改正了错误,代码结果也是错的,懒的看了

二.题目讲解
2.1:编程求1-100之间所有奇数的和
思路:第一个题目求一到100所有的奇数和这个题目非常的简单,只需要把一到百全部遍历一遍,如果是奇数的话就加起来即可。这里虽然用到了C++的语法,但是只改变了一个东西,也是让我写起来方便,printf==cout,scanf==cin。其他都没有改变。
cpp
#include<iostream>
using namespace std;
int main()
{
//定义一个变量
int sum = 0;
//用for循环便利,1-100,
for (int n = 1; n < 101; n++)
{
//如果是奇数就拿出来
if (n % 2 != 0 )
{
//存放在sum中
sum += n;
}
}
//最后把最有的奇数和打印出来即可
cout <<"SUM::" << sum << endl;
return 0;
}
运行结果

2.2编程计算表达式sum=2!+4!+6!+..!(其中n的值是由用户键盘输入的偶数)
思路:这个题目也很简单,也是一个for循环的遍历问题,但是前提是得把阶乘问题解决,所以先创造一个阶乘函数,就是求每个数的阶乘的值是多少,然后就是一个偶数相加的问题,只不过需要把每个偶数都传入到阶乘函数里面就可以了
cpp
#include<iostream>
using namespace std;
//阶乘函数
int jiecheng(int a)
{
int ax = 1;
for (int j = 1; j <= a; j++)
{
ax *= j;
}
return ax;
}
int main()
{
int sum = 0;
int n = 0;
//scanfd函数
cin >> n;
//遍历每一个偶数
for (int i = 2; i < n + 1; i += 2)
{
//每个偶数变成阶乘,在转入sum求和
sum += jiecheng(i);
}
//printf函数
cout << sum << endl;
return 0;
}
运行结果

2.3选择题

为什么选B呢?因为if里面是自带!=的,比如是if(a)其实就等于if(a!=0)。
验证
cpp
int main()
{
int a = 3;
if (a)
{
cout << "善于好拉士炸中天" << endl;
}
return 0;
}
根据上面可以知道,如果能说出这句话的话,就说明上面的结论成立

if(!a),内部就是if(!a!=0),所以这个是对的,x--,变为34,但是下面都是错的,一直到下一个else,所以最后变成了4.

总结
印度江小南