Создать таблицу умножения из одного цикла for - PullRequest
1 голос
/ 22 января 2010

Можно ли сгенерировать таблицу умножения (например, от 1 до 9) с одним циклом for?

Ответы [ 7 ]

6 голосов
/ 22 января 2010

Да, используя что-то вроде этого ... Но почему бы не использовать два вложенных цикла?

        for (int i = 0; i < 9 * 9; ++i)
        {
            int a = i / 9 + 1;
            int b = i % 9 + 1;
            Console.WriteLine("{0} * {1} = {2}", a, b, a * b);
        }
1 голос
/ 22 января 2010

Чтобы сгенерировать таблицу умножения 1-9 с одним циклом for, вы можете выполнить цикл 81 раз и использовать оператор деления и по модулю для получения двух операндов.

for (int i = 0; i < 9*9; ++i)
{
  int a = i / 9 + 1;
  int b = i % 9 + 1;
  Console.WriteLine($"{a} * {b} = {a * b}"); 
  //Console.WriteLine("{0} * {1} = {2}", a, b, a * b);
}

Обратите внимание, должен быть лучший способ для создания выходных данных, но я не знаком с C #.

0 голосов
/ 15 февраля 2015
using System;    
using System.Collections.Generic;    
using System.Linq;    
using System.Text;    
using System.Threading.Tasks;

namespace ConsoleApplication11    
{    
    class Program    
    {
        int a;
        int b;
        int c; 

        public void Accept()
        {
            Console.WriteLine("enter the no.:");
            a = Convert.ToInt32(Console.ReadLine());
        }

        public void Process()
        {
            for (int c = 1; c <= 10; c++)
            {
                b = a * c;
                Console.WriteLine("table: {0}", b);
            }
            Console.ReadLine();
        }

        public void Display()
        {
            //Console.WriteLine(a "X" + c +"="b);
        }

        static void Main(string[] args)
        {
            Program pr = new Program();
            pr.Accept();
            pr.Process();
            Console.ReadKey();
        }
    }
}
0 голосов
/ 12 февраля 2014
class Program
{
    static void Main(string[] args)
    { 
       Console.Write("Enter the value:");
       int m = int.Parse(Console.ReadLine());
       if (m == 0)
           return;
        for(int i=1;i<=10;i++)
            Console.WriteLine("{0} * {1} ={2}",m,i,m*i);
        Console.ReadLine();
    }
}
0 голосов
/ 26 февраля 2013

здесь код для таблиц умножения на основе наших критериев предполагать Введите значение: 2 Введите значение b: 10 тогда вывод будет выглядеть как 2 * 1 = от 2 до 2 * 10 = 20 ...

 static void Main(string[] args)
    {
        int a, b, c, d;
        Console.WriteLine("enter a value:");
        a = Convert.ToInt32(Console.ReadLine());

        Console.WriteLine("enter b value:");
        b = Convert.ToInt32(Console.ReadLine());
        for (d = 1; d <=b; d++)
        {
            c = a * d;
          Console.WriteLine("{0}*{1}={2}",a,d,c);


        }
        Console.ReadLine();


    }

enter image description here

enter image description here

0 голосов
/ 22 января 2010

попробовать:

Console.WriteLine("     1  2  3  4  5  6  7  8  9");

for (int i = 1; i<10; i++)
   Console.WriteLine(
      string.Format("{0}: {1:#0} {2:#0} {3:#0} {4:#0} " +
                    "{5:#0} {6:#0} {7:#0} {8:#0} {9:#0}",
          i, i, 2*i, 3*i, 4*i, 5*i, 6*i, 7*i, 8*i, 9*i)); 
0 голосов
/ 22 января 2010

Вот подсказка для одного способа сделать это.

Как вы можете извлечь все необходимые множители и мультипликаторы из одного целого числа от 0 до 81?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...