DAY2刷题报告
- OJ:C语言网
- 进度:1011-1015
knowledge:循环,未定义长整型,pow函数
不熟悉的知识:
-
- argc和argv作为C语言中main()函数的形参
-
- 起泡法排序
code
代码如下:
**第六章(1015)求和训练**
//#include <stdio.h>
///*求以下三数的和,保留2位小数 1~a之和 1~b的平方和 1~c的倒数和*/
a b c
1+2+...+a + 1^2+2^2+...+b^2 + 1/1+1/2+...+1/c
//int main()
//{
// float Sa=0, Sb=0, Sc=0;
// int a, b, c;
// float i;
// scanf("%d%d%d",&a,&b,&c);
// for (i=1; i<=a; i++)
// {
// Sa = Sa + i;
// }
// for (i = 1; i <= b; i++)
// {
// Sb = Sb + i* i;
// }
// for (i = 1; i <= c; i++)
// {
// Sc = Sc + 1.00/ i;
// }
// printf("%.2f\n", Sa+Sb+Sc );
//
// return 0;
//}
//**第六章(1014)阶乘求和**
//#include <stdio.h>
///*求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一个数字(n不超过20)。*/
n
Sn
//int main()
//{
// unsigned long int Sn = 0, bn = 1;
// int i, n;
// scanf("%d", &n);
// for (i = 1; i <= n; i++)
// {
// Sn += bn;
// bn *= (i + 1);
// }
// //while循环用了2s多,且VS上显示不出结果。
// /*while (i <= n)
// {
// bn = bn * i;
// Sn = bn + Sn;
// }*/
// printf("%lu", Sn);
// return 0;
//}
//**第六章(1013)Sn求和公式**
//#include <stdio.h>
///*求Sn,其中a是2。 例如,n=5时=2+22+222+2222+22222,n由键盘输入。*/
n
Sn
//#include<math.h>
//int main()
//{
// int i = 0,Sn=0,bn=0, n;
// scanf("%d", &n);
// while (i < n)
// {
// bn =bn+ 2*pow(10, i);
// Sn = bn + Sn;
// i++;
// }
// printf("%d", Sn);
//}
//**第六章(1012)字符串分类统计**
//#include <stdio.h>
///*输入一行字符,分别统计出其中英文字母、数字、空格和其他字符的个数。*/
一行字符,长度不超过200
统计值
//
//#include <string.h>
//int
//main(void)
//{
// char str[200];//声明一个数组用于存储输入的字符
// int letter = 0, number = 0, space = 0, sign, n;
// gets(str)//****注意:MicrosoftVS中应该用gets_s(str);//获取输入并存储到数组里,gets会把输入的换行符\n丢弃
// n=strlen(str); //获取输入的字符长度
// char m;
// for (int i = 0; (m=str[i] )!= '\0'; i++)
// {
// if (m <= 'z' && m >= 'a' || m <= 'Z' && m > 'A')
// {
// letter++;
// }
// else if (m == ' ')
// {
// space++;
// }
// else if (m <= '9' && m >= '0')
// {
// number++;
// }
// }
// //for (int i = 0; i<n; i++)//for循环可以声明变量同时初始化,多个声明用 , 逗号隔开
// //{
// // if (str[i] <= 'z' && str[i] >= 'a' || str[i] <= 'Z' && str[i] > 'A')
// // {
// // letter++;
// // }
// // else if (str[i] == ' ')
// // {
// // space++;
// // }
// // else if (str[i] <= '9' && str[i] >= '0')
// // {
// // number++;
// // }
// //}
// sign = n - space - number - letter; //把整个字符长度减去字母数、空格、数字得出其他字符的数量
// printf("%d %d %d %d", letter, number, space, sign);
// return 0;
//}
**第六章(1011)最大公约数与最小公倍数**
//#include<stdio.h>
//
///*输入两个正整数m和n,求其最大公约数和最小公倍数。*/
两个整数 87,78
最大公约数和最小公倍数。3,2262
//int main()
//{
// int m,n;
// int x,y;
// scanf("%d%d", &m,&n);
// //1.最大公约数
// x = m < n ? m : n;
// while (m % x != 0 || n % x != 0)
// {
// x--;
// }
// printf("%d\n", x);
// //2.最小公倍数
// y = m > n ? m : n;
// while (y % m != 0 || y % n != 0)
// {
// y++;
// }
// printf("%d", y);//!!!printf("最小公倍数是%d\n",y);也给我报错了我服了
// return 0;
//}
碎碎念:
-
- 其实今天我没有什么学习量,课也没听,书也没翻(老天奶啊!),就捣鼓上述编程入门题目的warnings就花费了很久。早上和午休一睁眼,都是拿起手机翻看嵌入式学习路径,但是迄今为止我还是没有开始跟着项目学。明天开始跟着江协科技等看单片机的编程吧。
另,附上一个初学者的一点小感悟:
-
- 回顾:从今年写第一篇博客开始,我的C语言扫盲过程走得其实还算顺利。谁能想象一个月之前我连#include<stdio.h>这种头文件都望而生畏,而自定义函数这种东西更是从没有被写入过我的记忆芯片呢?我认为束缚住一个人的从来不是天份,而是花费的时间。既然本身智力没有问题,那对一个东西的熟悉程度就能靠大量的重复、记忆来快速建立。
-
- 感悟:要拿任务倒逼自己学习。为了糊口,为了一技之长…克服惰性,努力拼搏吧。请你一而再,再而三地救自己于水火。