1、使用指针打印数组内容
int main()
{
int arr[10] = { 0,1,2,3,4,5,6,7,8,9 };
int* p = &arr[0];
int sz = sizeof(arr) / sizeof(arr[0]);
for (int i = 0; i < sz; i++)
{
printf("%d ", *(p + i));
}
return 0;
}
2、打印菱形
int main()
{
//先打印前7行
for (int i = 1; i < 8; i++)
{
for (int j = 1; j < 8 - i; j++)
{
printf(" ");
}
for (int k = 0; k < 2 * i - 1; k++)
{
printf("*");
}
printf("\n");
}
//再打印后六行
for (int i = 1; i < 7; i++)
{
for (int j = 0; j < i; j++)
{
printf(" ");
}
for (int k = 0; k < 13 - 2 * i; k++)
{
printf("*");
}
printf("\n");
}
return 0;
}
3、求出0~100000之间的所有“水仙花数”并输出
int number(int n)
{
int count = 0;
while (n > 9)
{
count++;
n = n / 10;
}
return count + 1;
}
int main()
{
for (int i = 0; i < 100000; i++)
{
int tmp = i;//如果不把i存储起来,i每次除10,最后判断i==sum错误
int sum = 0;
int num = number(i);
while (tmp)
{
sum += pow(tmp % 10, num);
tmp = tmp / 10;
}
if (sum == i)
printf("%d ", i);
}
return 0;
}
4、求Sn = a + aa + aaa + aaaa + aaaaa的前5项之和,其中a是一个数字
int Sn(int a)
{
int n = 0;
int sum = 0;
printf("Sn=");
for (int i = 0; i < 5; i++)
{
n = n * 10 + a;
sum += n;
if (i < 4)
printf("%d+", n);
else
printf("%d=", n);
}
return sum;
}
int main()
{
int a = 0;
scanf("%d", &a);
printf("%d\n", Sn(a));
return 0;
}
1474

被折叠的 条评论
为什么被折叠?



