码迷,mamicode.com
首页 > 其他好文 > 详细

一些有趣的编程题

时间:2020-04-20 16:05:27      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:war   空格   eof   hang   line   return   col   std   secure   

第一个是查找矩阵中的数字//递增矩阵查找k
第二个是猜测五个跳水中的名次//
第三个是调整数组奇数偶数//
第四个是喝水问题//``
第五个是水仙花问题//
第六个是打印菱形问题//

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
//int find(int arr[3][3], int k, int row, int col)
//{
//  int x = 0;
//  int y = col - 1;
//  while (x <= row - 1 && y >= 0)
//  {
//      if (arr[x][y] > k)
//      {
//          y--;
//      }
//      else if (arr[x][y] < k)
//      {
//          x++;
//      }
//      else 
//      {
//          return 1;
//      }
//  }
//  return 0;
//}
//int main()
//{
//  int arr[][3] = { {1,2,3},{4,5,6},{7,8,9} };
//  int k = 7;
//  int ret = find(arr, k, 3, 3);
//  if (ret == 1)
//      printf("找到了");
//  //printf("下标是%d%d", arr);
//  else
//      printf("找不到");
//}
//int main()
//{
//  int a = 0, b = 0, c = 0, d = 0, e = 0;
//  for (a = 1; a <= 5; a++)
//  {
//      for (b = 1; b <= 5; b++) 
//      {
//          for (c = 1; c <= 5; c++) {
//              for (d = 1; d <= 5; d++)
//              {
//                  for (e = 1; e <= 5; e++)
//                  {
//                      if ((b == 2) + (a == 3) == 1 &&
//                          (b == 2) + (e == 4) == 1 &&
//                          (c == 1) + (d == 2) == 1 &&
//                          (c == 5) + (d == 3) == 1 &&
//                          (e == 4) + (a == 1) == 1
//                          )
//                      {
//                          if (a * b * c * d * e == 120)
//                              printf("a=%d b=%d c=%d d=%d e=%d",a,b,c,d,e);
//                      }
//                  }
//              }
//          }
//      }
//  }
//}
//void change(int* arr, int sz)
//{
//  int left = 0;
//  int right = sz-1;
//  while (left < right)
//  {
//      while (left < right && arr[left] % 2 == 1)
//      {
//          left++;
//
//      }
//      while (left < right && arr[right] % 2 == 0)
//      {
//          right--;
//      }
//      if (left < right)
//      {
//          int temp = arr[left];
//          arr[left] = arr[right];
//          arr[right] = temp;
//      }
//  }
//}
//int main()
//{
//  int arr[] = { 1,2,3,4,5,6,7,8,9 };
//  int sz = sizeof(arr) / sizeof(arr[0]);
//  change(arr, sz);
//  int i = 0;
//  for (i = 0; i < sz - 1; i++) 
//  {
//      printf("%d", arr[i]);
//  }
//  
//}
//20
//20   10   5  2  2
//int main()
//{
//  int money = 0;
//  int count = 0;
//  int empty = 0;
//  scanf("%d", &money);
//  count = money;
//  empty = money;
//  while (empty>=2)
//  {
//      count+=empty/ 2;
//      empty = empty / 2 + empty % 2;
//
//  }
//  //count = count + count;
//  printf("%d", count);
//}
#include<math.h>
//void flower(int i)
//{
//  i = 0;
//  for (i = 0; i < 100000; i++)
//  {
//      int n = 1;//位数
//      int temp = i;
//      int sum = 0;
//      while (temp / 10)
//      {
//          n++;
//      }
//      //计算i位的每位幂次方的和
//      temp = i;
//      while (temp)
//      {
//          temp = temp % 10;
//          sum +=(int) pow(temp, n);
//          temp /= 10;
//      }
//      //判断是否相等
//      if (sum == i) 
//      {
//          printf("%d", i);
//      }
//  }
//}
//int main()
//{
//  int i = 0;
//  for (i = 0; i < 100000; i++)
//  {
//      int n = 1;//位数
//      int temp = i;
//      int sum = 0;
//      while (temp / 10)
//      {
//          n++;
//          temp = temp / 10;
//      }
//      //计算i位的每位幂次方的和
//      temp = i;
//      while (temp)
//      {
//          sum += (int)pow(temp%10, n);
//          temp /= 10;
//      }
//      //判断是否相等
//      if (sum == i)
//      {
//          printf("%d\n", i);
//      }
//  }
//}
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;
}

一些有趣的编程题

标签:war   空格   eof   hang   line   return   col   std   secure   

原文地址:https://blog.51cto.com/14736509/2488720

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!