1 Star 0 Fork 0

李勇震/c语言每日练习

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
test 12.03 1.59 KB
一键复制 编辑 原始数据 按行查看 历史
李勇震 提交于 2022-12-03 13:16 . add test 12.03.
求出0~100000之间的所有“水仙花数”并输出。 “水仙花数”是指一个n位数,其各位数字的n次方之和确好等于该数本身,如 : 153=1 ^ 3+5 ^ 3+3 ^ 3,则153是一个“水仙花数”。
#include<stdio.h>
#include<math.h>
int main()
{
int i = 0;
for (i = 0; i < 100000; i++)
{
//1求出几位数
int tmp = i;
int n = 1;
while (tmp /10)
{
n++;
tmp = tmp / 10;
}
//2计算和
tmp = i;
int sum = 0;
while (tmp)
{
sum += pow(tmp % 10, n);
tmp = tmp / 10;
}
//3判断相等
if (sum == i)
{
printf("%d ", i);
}
}
return 0;
}
写一个函数,可以逆序一个字符串的内容
#include<stdio.h>
#include<string.h>
void reverse(char* str)
{
//防止空指针
assert(str);
char* left = str;
char* right = str + strlen(str) - 1;
while (left < right)
{
int tmp = *left;
*left = *right;
*right = tmp;
left++;
right--;
}
}
int main()
{
char arr[] = "abcdef";
reverse(arr);
printf("%s ", arr);
return 0;
}
#include<stdio.h>
int main()
{
int n = 0;
scanf("%d", &n);//7
int i = 0;
for (i = 0; i < n; i++)
{
打印一行
打印上面
int j = 0;
for (j = 0; j<n-1-i; j++)
{
printf(" ");
}
for (j = 0; j <2*i+1 ; j++)
{
printf("*");
}
printf("\n");
}
打印下面
for (i = 0; i < n - 1; i++)
{
int j = 0;
for (j = 0; j <= i; j++)
{
printf(" ");
}
for (j = 0; j < 2 * (n - 1 - i) - 1; j++)
{
printf("*");
}
printf("\n");
}
return 0;
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/liyongzhen2004/2022.10.24.git
git@gitee.com:liyongzhen2004/2022.10.24.git
liyongzhen2004
2022.10.24
c语言每日练习
master

搜索帮助