C语言初阶练习5.0

简介: 目录1. 判断整数奇偶性2. 判断是元音还是辅音3. 使用指针打印数组的内容4. 计算求和5. 打印水仙花数6. 打印菱形

1. 判断整数奇偶性

#include<stdio.h>
int main()
{
  int n = 0;
  while ((scanf("%d", &n)) != EOF)
  {
    if (n % 2 == 1)
    {
      printf("Odd\n");
    }
    else
    {
      printf("Even\n");
    }
  }
  return 0;
}

image.png

2. 判断是元音还是辅音

#include<stdio.h>
int main()
{
  char v[] = { 'a','A','e','E','i','I','o','O','u','U' };
  char ch = 0;
  while ((scanf("%c", &ch))!=EOF)
  {
    int i = 0;
    for (i = 0; i < 10; i++)
    {
      if (ch == v[i])
      {
        printf("Vowel\n");
        break;
      }
    }
    if (i == 10)
    {
      printf("Consonant\n");
    }
    getchar();
  }
    return 0;
}

image.png

3. 使用指针打印数组的内容

#include<stdio.h>
void print_arr(int* p, int sz)
{
  int i = 0;
  for (i = 0; i < sz; i++)
  {
    printf("%d ", *p);
    p++;
    //printf("%d ", *p++); 等价上面
  }
}
int main()
{
  int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
  int sz = sizeof(arr) / sizeof(arr[0]);
  print_arr(arr, sz);
  return 0;
}

image.png

4. 计算求和

求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字,

//例如:2 + 22 + 222 + 2222 + 22222

#include<stdio.h>
int main()
{
  int a = 0;
  int n = 0;
  scanf("%d %d", &a, &n);
  int ret = 0;
  int sum = 0;
  int i = 0;
  for (i = 0; i < n; i++)
  {
    ret = ret * 10 + a;
    sum = sum + ret;
  }
  printf("%d\n", sum);
  return 0;
}

image.png

5. 打印水仙花数

//求出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++)
  {
    //判断是否为水仙花数
    int n = 1;
    int sum = 0;
    int tmp = i;
    //判断几次
    while (tmp /=10)
    {
      n++;
    }
    //求和
     tmp = i;
    while (tmp)
    {
      sum = sum + pow(tmp % 10, n);
      tmp = tmp / 10;
    }
    if (sum == i)
    {
      printf("%d ", i);
    }
  }
  return 0;
}

image.png

6. 打印菱形

#include<stdio.h>
int main()
{
  int line = 0;
  scanf("%d", &line);
  int i = 0;
  //打印上面
  for (i = 0; i < line; i++)
  {
    //打印空格
    int j = 0;
    for (j = 0; j < line - 1 - i; j++)
    {
      printf(" ");
    }
    //打印*
    for (j = 0; j < 2 * i + 1; j++)
    {
      printf("*");
    }
    printf("\n");
  }
  //打印下面
  for (i = 0; i < line - 1; i++)
  {
    //打印空格
    int j = 0;
    for (j = 0; j <= i; j++)
    {
      printf(" ");
    }
    //打印*
    for (j = 0; j < 2 * (line - 1 - i) - 1; j++)
    {
      printf("*");
    }
    printf("\n");
  }
  return 0;
}

image.png

相关文章
|
6天前
|
C语言
C语言初阶:如何判断是否为素数并且输出
C语言初阶:如何判断是否为素数并且输出
10 0
|
2月前
|
算法 C语言 容器
从C语言到C++_18(stack和queue的常用函数+相关练习)力扣(上)
从C语言到C++_18(stack和queue的常用函数+相关练习)力扣
25 0
|
2月前
|
C语言
C语言指针——练习
C语言指针——练习
|
6天前
|
C语言
C语言练习代码第一篇
C语言练习代码第一篇
|
4天前
|
C语言
|
27天前
|
C语言
【初始C语言8】详细讲解初阶结构体的知识
【初始C语言8】详细讲解初阶结构体的知识
|
6天前
|
编译器 C语言
|
6天前
|
C语言
|
2月前
|
存储 前端开发 算法
从C语言到C++_18(stack和queue的常用函数+相关练习)力扣(下)
从C语言到C++_18(stack和queue的常用函数+相关练习)力扣
10 0
|
2月前
|
存储 C语言
从C语言到C++_18(stack和queue的常用函数+相关练习)力扣(中)
从C语言到C++_18(stack和queue的常用函数+相关练习)力扣
22 0