回文数: 将自然数n的各位数字反向排列得到自然数n1,若n1与n相等,则称n为回文数,例如: 12321
/**
* #include <stdio.h>是C语言中的一个预处理指令,
* 它告诉C编译器在编译时包含stdio.h头文件。
*
* stdio.h是C标准库(Standard Library)中的一个头文件,
* 它提供了输入和输出的函数和宏定义。
* 通过包含stdio.h头文件,
* 您可以使用标准输入输出函数(如printf和scanf)来进行屏幕输入和输出。
*/
#include <stdio.h>
// 使用该头文件中定义的各种数学函数
#include <math.h>
// 得到长度
int getLength(long int num) {
int found, len;
found = 0;
// 设定正整数num的位数小于或等于10
len = 10;
if (num == 0) return 1;
while (found == 0) {
// pow(10,len-1) : 计算10的len-1次幂
// 此处int : 将 pow(10, len - 1 )强制转换成int类型
if (num / (int)pow(10, len - 1) > 0)
found = 1;
else
len = 1;
}
// 返回num的位数
return len;
}
// 是否是回文数
int isPalindrome(long int num) {
// 键盘输入的正整数
long int n;
// 正整数最左边的数字
int left;
// 正整数最右边的数字
int right;
// 正整数的位数
int i;
// 是否是回文数, 是:1 否:0
int flag;
i = getLength(num);
n = num;
flag = 0;
while (i > 1 && flag == 0) {
// 将正整数n当前最左边的数字赋予变量left
left = n / (int)pow(10, i - 1);
// 将正整数n当前最右边的数字赋予变量right
right = n % 10;
n = n % (int)pow(10, i - 1) / 10;
i -= 2;
// 若正整数n当前是最左边和最右边的数字不相等,
// 则不是回文数,
// 即标志变量flag赋值1
if (left != right) flag = 1;
}
// 若是回文数,则返回1
if (flag == 0) return 1;
// 若不是,则返回0
else
return 0;
}
// 主函数
int main(void) {
long int num;
// 从键盘输入一个正整数保存到变量num中
scanf("%ld", &num);
if (isPalindrome(num))
printf("%ld 是个回文数\n", num);
else
printf("%ld 不是个回文数\n", num);
return 0;
}
以上是一个C程序,我们可以总结一下一个C程序由哪些部分组成
C程序的组成特点:
1、由一个或多个函数组成
//上面的有三个函数
int getLength(){}
int isPalindrome(){}
int main(){}
2、函数是C程序的基本单位
函数由两部分组成,函数首部、函数体。
函数首部由以下构成
int main(long int num){}
int :返回值类型
main :函数名
long int:形式参数类型
num:形式参数名
若没有参数,则直接写void
int main(void){}
函数体及花括号{}里面的内容
3、C程序中每个语句都以分号 ;结束,除了以下几个情况:
预处理命令、函数首部、右花括号 } 后
4、C语言本身没有输入、输出语句,而是通过调用库函数实现的
//获取用户输入的数据,并相应地保存到变量列表中
//语法:scanf("%格式化字符串", 变量列表);
scanf()
//将格式化后的字符串输出到标准输出
//printf("%格式化字符串", 输出表列)
printf()
//从输入缓冲区里面读取一个字符,
//一次只能读取一个字符,
//第一次getchar()时,确实需要人工的输入,
//但是如果你输了多个字符,
//以后的getchar()再执行时就会直接从缓冲区中读取了
//语法:getchar()
getchar()
//输出字符,返回值是参数的ASCLL码值
//语法:putchar(参数)
putchar()
5、C程序的任意位置都可以写注释
单行注释 //
多行注释 /* */
6、可以一行内写多条语句,也可以一条语句写多行
7、从主函数开始、从主函数结束 main
8、可以有预处理命令,写在最前面
9、主函数可以调用其它函数,其它函数可以相互调用,但不能调用主函数
我是自学前端的,下班后学习,我是2022年11月21号进前端的,已经一年一个月了,现在正在自考湘潭大学的计算机专业大专,这是《高级语言程序设计》,希望学完后,对我日后的计算机之路有所帮助。加油!!!
我进前端的路不是很容易,但我并不因此退缩,我是一个比较笨的人,但我依然希望通过自己的努力去过上自己想要的生活,我热爱计算机,我愿意为此付出巨大努力,并不懈地坚持
。