关于C语言一个对菜鸟来说比较艰难的问题。大神请帮忙。。万分感激。双重循环问题。
#include
#define VAL 20int main()
{
int i, fn, fn_1, fn_2;
printf("The Fibonacci sequence is:
"); /* initialization with the first two values */
fn_1 = 0;
fn_2 = 1;
printf("%d %d", fn_1, fn_2);
for(i=3;i<VAL;i++)
{
fn=fn_2 + fn_1;
printf("d%",fn);
fn_1 = fn_2;
fn_2=fn;
}
}
解释你的那个例程:
你说这道题要求输出20个数,是不正确的,确切的说是输出20个数,前两个数是0和1,后面每个数是前两个数之和
那么实际上每次只需要输出一个和的数就行了,这个数就是变量fn,而fn_1,fn_2就是用来存放之前两个数的
所有以了fn=fn_2 + fn_1
而每输出一次以后,下一次新的两个数一个是上一次的fn,一个是上一次的fn_2,上一次的fn_1已经没用了,所以有
fn_1 = fn_2;
fn_2=fn;
变量i,无论是for循环还是while循环,作用都是一样的,就是控制循环次数,因为前两次是不用循环的,只循环18次,所以i从3开始,计到20结束
你说的fn变fn_i是不对的,i是变量,fn_i也是变量,你可以理解成他们两个地位是平等的,不能一个由另一个来控制
你的那种思想可以用数组来实现fn[i]
#include
void main()
{
char a[256];
std::cout<<"请输入一个字符串:";
std::cin>>a;
std::cout<<a<<"的长度为"<<strlen(a)<<std::endl;
system("pause");
}
sizeof获得的是整个数组的大小,如果要获得已存储的大小,要用strlen;
你再试试
C语言编程题。。。菜鸟真心不会> <急~
strcmp 交换的话需要字符拷贝函数strcpy 排序的话也不难,和一般的排序一样即可,不过字符串当成一个变量来考虑即可,
c语言为什么这么难学,我为什么老是学不会
对初学者来说,C语言确实有一定的难点,但是C语言是基础的语言,并不是最难的所以学不好的主要还是自身的问题。依据本人这么多年的经验,这尝试分析下为何这么多人学不好C语言?C语言本身存在一定难度 C语言主要应用于操作系统、嵌入式底层开发等,在这些领域C语言一直都咱局主导位置,但是在入门上现在...
关于C语言的一个菜鸟级问题
printf("%d%d%d\\n",1+2,5,-2*4,11%3);"%d%d%d\\n" 这里的点表示显示的小数位,给你看一个例子,%10.6f 表示输出的浮点数占10位,其中小数点后面有6位,整数部分3位。其中10或者6可以省去一个。
怎样能从一个什么都不懂的菜鸟学会C语言?
第一:C语言语法结构很简洁精妙,写出的程序也很高效,很便于描述算法,大多数的程序员愿意使用C语言去描述算法本身,所以,如果你想在程序设计方面有所建树,就必须去学它。 第二:C语言能够让你深入系统底层,你知道的操作系统,哪一个不是C语言写的?所有的windows,Unix,Linux,Mac,os\/2,没有一个...
C语言多线程编程的一个菜鸟问题
由于是多线程环境,放一个原子变量,每次调用该函数时,让该原子变量的值递增,同时用一个全局变量记录当该变量值为初始值时的值。不知道能明白我的意思没 不用原子操作,或者使用临界区来防止冲突也行
一个刚学c语言的菜鸟,急需一名高手来帮我
可以给你提供个思路,自己多动动手对你有好处。while(1){ if(flag==0)break;else{ \/\/加法程序 \/\/改变flag } } 其实就是楼上说的死循环。
c语言,本人菜鸟,高手来
乘 表达式*表达式 双目运算符 左到右 余数(取模) 整型表达式\/整型表达式 双目运算符 左到右 + 加 表达式+表达式 左到右 先算(),x+a%3*(int)(x+y)%2\/4 = x+a%3*7%2\/4 先算除,x+a%3*7%2\/4 = x+a%3*7%(2\/4)再算 * ,x+a%3*7%(2...
c语言菜鸟问题
return new1;} dNode* get_node_div(char *str, int len){ dNode *new1 = (dNode*)malloc(sizeof(dNode));new1->str = str;new1->len = len;return new1;} void main(){ char str[1000] = {0};char strtmp[1000] = {0};int i = 0;int j = 0;Node *tNode;dNode *...
C语言菜鸟问题
1、数组名作为参数传递,就是把数组的首地址传给形参,等于由定义了一个指针,只想这个地址。第一的代码只是在排序的时候,少写了一层循环,正确如下:include<stdio.h> include<string.h> void paixu(char *name[]);void main(){ int i=0;char *name[5];char string[5][20];printf("请...
C语言菜鸟问题请大哥大姐们帮帮忙!!
include<stdio.h> void main(){ int i=1,j=1,k,a;printf("%d,%d,",i,j);for(a=1;a<=8;a++){ k=i+j;printf("%d,",k);i=j;j=k;} } 这样肯定对的,我可是C语言高手