用for循环语句实现下列图形 字母之间是有空格的 图形在问题补充中 谢谢各位 想了半天没想出来

A B C D E F G
B C D E F G A
C D E F G A B
D E F G A B C
E F G A B C D
F G A B C D E
G A B C D E F

以下是VB.Net代码

    Sub Main()
        Dim Str As String = "ABCDEFG"
        For i As Integer = 0 To 6
            For j As Integer = 0 To 6
                Console.Write(Str.Substring((i + j) Mod 7, 1) & " ")
            Next
            Console.WriteLine()
        Next
        Console.Read()
    End Sub

外层For循环的变量i表示图形中每一行的首字母的在字符串"ABCDEFG"中的位置。

内层For循环的变量j表示图形中同一行的字母与该行首字母的偏移量。为保证字母G之后是字母A,使用了取模操作(Mod)。

追问

我的天 完全看不懂 我忘记说是要用c语言了 我想要c语言的,,,,不过还是谢谢你的解答

追答

以下是C++代码

  char chrs[7] = { 'A', 'B', 'C', 'D', 'E', 'F', 'G' };
  int i, j;
  for (i = 0; i <= 6; i++){
    for (j = 0; j <= 6; j++){
      cout << chrs[(i + j) % 7] << " ";
    }
  cout << endl;
  }

C和C++应该差不多吧,本人C++也不怎么样,将就着看吧。思路对了就行了。

温馨提示:内容为网友见解,仅供参考
无其他回答

用for循环语句编程输出A-Z之间的所有字符,字母之间以空格分隔,要求一行...
int main(){ char a,i;a='A';for (i=0;i<26;i++)printf("%c%c",a+i,((i+1)%8?' ':'\\n'));printf("\\n");return 0;}

如何用C语言采用循环语句打印下列图形: * *** *** ***?
先把图形构建成一个4行7列的数组,可以用先赋值,在输出的方式,也可以一次输出 For(i=0,i<4,i++)For(j=0,j<7,j++)Str[i][j]=' ';For(i=0;i<4,i++)给对应位置赋值

用嵌套的for循环编写程序,要求通过这个嵌套的循环在屏幕上打印下列图案...
1、首先打开编译器,首先输入头文件,写好Main函数,定义好需要用到的变量,如下图所示。2、然后写下第一个For循环,也是外围的for循环,为了便于观察结果,这里使用Printf函数在每次循环时,打印变量的值,如下图所示。3、在外围For循环内部再写下一个for循环,其中的变量可以独立变化,也可以与外围for...

用for循环语句打出以下图形 1 12 123 1234 12345 123456
for(int j=1;j<=i;j++){ System.out.print(j);} System.out.println();\/\/System.out.print("\\t");\/\/你如果想横着打就把这段注释去了,吧上边一句注释了 } 输出结果:1 12 123 1234 12345 123456

用C语言的双重for循环语句怎么输出如下图形 * * * * * * * * * *...
int i,j,k;for(i=0;i<=3;i++) \/\/输出上面四行*号 { for(j=0;j<=2-i;j++)printf(" "); \/\/输出*号前面的空格 for(k=0;k<=2*i;k++)printf("*"); \/\/输出*号 printf("\\n");} for(i=0;i<=2;i++) \/\/输出下面三行*号 { for(j=0;j<=i;j++)print...

关于.NET使用for循环控制语句
static void Print(int num){ if(num==1) \/\/输入的是1 第一图形 {\/\/1-4行 for(int i=0;i<=3;i++){ for(int j=0;j<3-i;j++){ Console.Write(" ");\/\/生成空格个数依次为 3 2 1 } for(int k=1;k<=i*2+1;k++){ Console.Write("*");\/\/生成*个数依次为 1 3 5...

python新手求助, 输入一个单词,用for循环函数怎么样输出的时候每个字母...
word = input("input your word:")for w in word[:-1]: print(w, end=' ')print(word[-1])

求助C语言用for语句循环嵌套输出以下图形 蟹蟹啦
按照你的要求编写的用for语句循环嵌套输出以下图形的C语言程序如下 include <stdio.h> int main(){ int i,j,N=6;for(i=1;i<=N;i++){ for(j=1;j<=N-i+1;j++){ printf("*");} printf("\\n");} return 0;}

c语言中用循环for语句输入空格的问题
scanf("%s",a[i]); 用%s 的话遇到空格或回车就会停止读取的了- - 连读都读不进去,怎么统计,话说那个空格还在缓存里面,所以后续的scanf根本都没有读取- - gets的话是遇见回车才停止读取。。。另外呢 "1234567890"上面那个字符串的长度是10,但是字符数组的长度是11,因为上面的字符串实际...

c语言如何用for循环实现字符串中遇到空格就换行??
通过字符串逐个与空格字符相比较,遇到空格输出换行符即可。 具体实现方法可以参考如下程序段: 1 2 3 4 5 6 7 char a[]="ab df23 df% 1df"; int i=0; for(i=0; a[i]!='\\0'; i++) \/\/ 遍历字符数组a中所有字符 { if(a[i]==' ') \/\/ 如果字符a[i]为空格字符,那么就输出换行符 printf...

相似回答