2010-01-22 3 views
1

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

+0

Да вы могли бы. Это школьный проект или что-то еще? Мы не можем сделать домашнее задание для вас :) –

+0

Вы можете даже без цикла. Вы должны думать об этом сами, это не так сложно. – Dykam

+0

ya .. я просто хотел знать, что .. я не хочу решения :) в любом случае .. спасибо alot :) – Abid

ответ

6

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

 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

Чтобы сгенерировать таблицу умножения 1-9 с одним цикла вы могли цикл 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

Смотрите, как sergioms отвечают за правильный способ форматирования строк в .Net. – Dykam

+0

@ Dykam: Спасибо. –

0

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

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

+0

не получает: ((( – Abid

+1

Исследование модуля модуля, '%'. – Dykam

0

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

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

здесь, код для таблиц умножения на основе наших критериев предположим, что Введите значение: 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
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
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(); 
     } 
    } 
} 
Смежные вопросы