问题标题
使用for 语句打印显示下列数字形式:n=4 1 1 2 1 1 2 ,使用for 语句打印显示下列数字形式:n=4
2019-3-27来自ip:18.160.191.155的网友咨询
浏览量:309 手机版
问题补充:
使用for 语句打印显示下列数字形式:n=4 1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 ...,使用for 语句打印显示下列数字形式:n=4
网友答案
你说的是这种形式吧?n=4的时候1121123211234321是用C语言么?下面我用c语言写这个程序#include int main(){int n,i,j;scanf("%d", &n);for (i = 1; i <= n; i++){//下面这个循环输出前置空格for (j = 0; j < n - i; j++){printf(" ");}//下面这个循环递加输出for (j = 1; j <= i; j++){printf ("%d", j);}//下面这个循环递减输出for (j = i - 1; j >= 1; j-- ){printf ("%d", j);}printf("\n");}return 0;}
网友答案
public class Test {private static void printStar() {System.out.print("*");}public static void main(String args) {for (int i = 0; i < 4; i++) {for (int j = 0; j <= i; j++) {printStar();}System.out.println();}}}
网友答案
import java.util.Scanner;public class clas{public static void main(String ages){int n;n = 4;int v = n;String st = "";for (int k = 1; k {for (int x = 1; x { System.out.print(" "); ;}st = "";for (int x = 1; x {st += x+"";}for (int x = k - 1; x >= 1; x--){st += x+"";}System.out.print(st); System.out.print("\n");v--;}}} 好慢
网友答案
#include#define N 4void outChar(int ch){int cha;for(cha=1;cha{printf(" ");}}void outInt(int i){int n;for(n=1;n{printf("%d",n);}}void outInta(int i){int k;for(k=i;k>=1;k--){printf("%d",k);}}main(){int m;for(m=1;m{outChar(N-m);outInt(m);outInta(m-1);printf("\n");}return 0;}
网友答案
char c = 'a'; for(int i = 0; i <5; i++) { for(int j = 0; j<9; j++) { if(j<(9-1-i*2)/2+1 || j >(9-1-i*2)/2+1+i*2) cout<<;" "; //输出空格 else cout<<c; } cout << endl; c += 1; } //最后一行输出是e,如果要输出c的话你要判断i ==4的时候让char c = 'c' //因为没有编译环境,所以你最好自己再调试下,很简单的代码
网友答案
我运行了一下你的程序。
。
。
。
是不是多了很多0啊。
。
。
。
你把for(j=0;j<n;j++)改成for(j=0;j<=i;j++)就可以了。
。
。
修改好代码如下。
。
。
#define N 80#include"stdio.h"main(){int i,j,n,aNN;scanf("%d",&n);for(i=0;i<n;i++)for(j=0;j<=i;j++){ if(j==i||j==0) aij=1;else if(j==1) aij=ai0+ai-1j;else aij=ai-1j-1+ai-1j;}for(i=0;i<n;i++){for(j=0;j<=i;j++)printf("%3d",aij);printf("\n");}}希望能帮到你。
。
网友答案
tokens=x,y,m-n - 指每行的哪一个符号被传递到每个迭代的 for 本身。
这会导致额外变量名称的格式为一个范围。
通过 nth 符号指定 m符号。
如果字符串中的最后一个字符星号,那么额外的变量将在最后一个符号解析之后,分配并接受行的保留文本。
token里的x,y表示第x,y个字符被传递给for命令m-n表示第m到第n个字符举几个例子:for /f \"skip=5 tokens=4\" %%a in ('dir') do echo %%a对 dir 命令的结果,跳过前面5行,余下的每行取第4列每列之间的分隔符为默认的\"空格\"可以注意到 dir 命令输出的前5行是没有文件名的for /f \"tokens=1,2,3 delims=- \" %%a in ('date /t') do (echo %%aecho %%becho %%c)对 date /t 的输出结果,每行取1、2、3列第一列对应指定的 %%a ,后面的 %%b 和 %%c 是派生出来的,对应其它列分隔符指定为 - 和\"空格\",注意 delims=- 后面有个\"空格\"其中 tokens=1,2,3 若用 tokens=1-3 替换,效果是一样的for /f \"tokens=2* delims=- \" %%a in ('date /t') do echo %%b取第2列给 %%a ,其后的列都给 %%b
网友答案
百位数有4种选择,为与百位数不重复,十位数就只有3种选择了;同样道理,个位数就只有2种选择。
所以1、2、3、4等4个数字能组成4x3x2共24种互不相等且没有重复数字的3位数。
根据上述原理,可用一个3层嵌套for循环来完成,代码如下:#include "stdio.h"int main(int argc,char *argv){int i,j,k,t;printf("A total of %d no repeat number 3-digits, they are as follows:\n",4*3*2);for(t=0,i=1;iif(j!=i)//遇到十位数字等于百位数字时跳过for(k=1;kif(k!=i && k!=j)//个位数字与十位或百位数字相等时跳过printf(++t%10 ? "%4d" : "%4d\n",i*100+j*10+k);//输出该三位数if(t%10)printf("\n");return 0;}扩展资料#includemain(){int i, j, k;int m=0;for(i=1;ifor(j=1;jfor(k=1;k{if(i!=j&&k!=j&&i!=k){printf("%d%d%d\n",i,j,k);m++;}}printf("%d\n",m);getch();}参考资料:百度百科 for循环
我来回答
验证码:
大家还关注