能力值:
( LV5,RANK:60 )
2 楼
建议继续看书,最起码要能把问题描述清楚。你是批数据下标怎么从1开始吗?至于数字怎么对齐完全不懂。。。
能力值:
( LV2,RANK:10 )
3 楼
for(j=1;j<=20;j++)
{
b[j]=j;
}
目测会出错,你的b[20]申明表示b可以访问0~19一共20个数组成员,而你的代码上当j=20时任然进入循环,于是在第二十次的时候系统将报错。
能力值:
( LV2,RANK:10 )
4 楼
咱没看明白你的意思,咱只能将你的代码翻译一下
#include <stdio.h>//包含基本输入输出头
int main(void)//主函数,参数为空返回值为整数
{
int i;//声明整数变量i
int j;//声明整数变量j
int b[20];//声明整数变量数组b(拥有20个数组成员,可已通过b[0]~b[19]访问)
int a[20];//声明整数变量数组a(拥有20个数组成员,可已通过a[0]~a[19]访问)
a[0]=1;//将1赋值给a[0]
a[1]=1;//将1赋值给a[1]
for(i=2;i<20;i++)//循环,一共20-2次
{
a[i]=a[i-1]+a[i-2];//将a[i-1]与a[i-2]的和赋值给a[i]
}
/*
此时a的内容如下:
a[0]=1;
a[1]=1;
a[2]=2;
a[3]=3;
a[4]=5;
a[5]=8;
a[6]=13;
a[7]=21;
a[8]=34;
a[9]=55;
a[10]=89;
a[11]=144;
a[12]=233;
a[13]=377;
a[14]=610;
a[15]=987;
a[16]=1597;
a[17]=2584;
a[18]=4181;
a[19]=6765;
*/
for(i=0;i<20;i++)//循环,一共20次
{
for(j=1;j<=20;j++)//循环,一共20次
{
b[j]=j;//将j的值赋值给b[j]
}
printf("%d %d\n", b[j], a[i]);//输出b[20]与a[i]的值,输出格式:“b[20] a[i]”+换行符
}
printf("\n");//输出换行符
return 0;//返回0
}
能力值:
( LV2,RANK:10 )
5 楼
想要输出第一个数字从1开始的改法1:
#include <stdio.h>
int main(void)
{
int i;
int j;
int b[20];
int a[20];
a[0]=1;
a[1]=1;
for(i=2;i<20;i++)
{
a[i]=a[i-1]+a[i-2];
}
for(i=0;i<20;i++)
{
for(j=0;j<20;j++)
{
b[j]=j+1;
printf("%d %d\n", b[j], a[i]);
}
}
printf("\n");
return 0;
}
想要输出第一个数字从1开始的改法2:
#include <stdio.h>
int main(void)
{
int i;
int a[20];
a[0]=1;
a[1]=1;
for(i=2;i<20;i++)
{
a[i]=a[i-1]+a[i-2];
}
for(i=0;i<20;i++)
{
printf("%d %d\n", i+1, a[i]);
}
printf("\n");
return 0;
}
能力值:
( LV2,RANK:10 )
6 楼
两种改法是不同的,第一种将输出
1 1
2 1
3 1
4 1
5 1
6 1
7 1
8 1
9 1
10 1
11 1
12 1
13 1
14 1
15 1
16 1
17 1
18 1
19 1
20 1
1 1
2 1
3 1
4 1
5 1
6 1
7 1
8 1
9 1
10 1
11 1
12 1
13 1
14 1
15 1
16 1
17 1
18 1
19 1
20 1
1 2
2 2
3 2
4 2
5 2
6 2
7 2
8 2
9 2
10 2
11 2
12 2
13 2
14 2
15 2
16 2
17 2
18 2
19 2
20 2
......
第二种会输出:
1 1
2 1
3 2
4 3
5 5
6 8
7 13
8 21
9 34
10 55
11 89
12 144
13 233
14 377
15 610
16 987
17 1597
18 2584
19 4181
20 6765
能力值:
( LV2,RANK:10 )
7 楼
关于数字对其的问题建议你看一下printf函数的说明
当然你也可以用下头的内容分别替换int a=123;printf("%d",a);中的“%d”看看是什么效果,然后你就知道了
%1d
%.1d
%2d
%.2d
%3d
%.3d
%4d
%.4d
%5d
%.5d
%6d
%.6d
能力值:
( LV2,RANK:10 )
8 楼
本来是不想着急的,但是有时候对一个问题执着了,虽然不懂但是很想知道问题出在哪里。不过还是很谢谢你的建议。
能力值:
( LV2,RANK:10 )
9 楼
很多知识都知识看过,做了笔记,但是有时候就是记不起来。
能力值:
( LV2,RANK:10 )
10 楼
[QUOTE=月夜猫妖;1373419]想要输出第一个数字从1开始的改法1:
#include <stdio.h>
int main(void)
{
int i;
int j;
int b[20];
int a[20];
a[0]=1;
a[1]=1;
for(i=2;i<20;i++)
{
...[/QUOTE]
谢谢,我会继续深入理解一下的。
能力值:
( LV2,RANK:10 )
11 楼
你需要练手,光记忆是没有用的
能力值:
( LV5,RANK:60 )
12 楼
千万不要急,正确的学习方法也要有足够的耐心才能学成点东西。而且C是需要一直关注并学习的对象,易学难精。
慢慢来,再去看其他方面,学了API后再回头再看等等。需要学很多东西,算法,数据结构太多要学。
所以要有足够的耐心,不然只能一事无成。
能力值:
( LV2,RANK:10 )
13 楼
有点难以坚持,不过还好自己的兴趣就是这个应该比其他人好一点。谢谢你的提醒啦。