开启辅助访问 切换到窄版

[C/C++程序讨论] 数组简单介绍式了解

[复制链接]
作者:yugao 
版块:
交流 编程讨论 发布时间:2016-10-2 18:59:23
282111
yugao 发表于 2016-10-2 18:17:01 来自手机 | 显示全部楼层 |阅读模式

想象一种情形,
你输入一个n,输出n个数,
输出数的范围  0-n,并且这n个数都是变量
对于初学者,数组:简单说就是一组数,
如高中时定义一个数ai(i是下标),其中i的范围1-n,则就定义了n个数
就例如  float a[20]就定义了20个float变量,很显然比你一个一个定义20个float变量好得多
#include<stdio.h>
int main()
{
        int a[50];//代表五十个int变量
       
        int n,i;
        scanf("%d",&n);
        for(i=0;i<n;i++)
        {
                a[i]=i;
         }
         for(i=0;i<n;i++)
        {
                printf("a[%d]=%d\n",i,a[i]);
         }
       
        return 0;
}

类似的一种:
计算阶乘和,Sn=n!+(n-1)!+...+1!
输出其中的每一个阶乘值,最终输出阶乘和,输出的每个值都为单独的变量
举个例子
输入3
输出
1阶乘1
2阶乘2
3阶乘6
和9
回复

使用道具 举报

yugao  楼主| 发表于 2016-10-2 18:21:43 来自手机 | 显示全部楼层
回复写好的代码~
回复 支持 反对

使用道具 举报

熊义和 发表于 2016-10-2 18:25:10 | 显示全部楼层
[C++] 纯文本查看 复制代码
#include<stdio.h>
int main()
{
    int  a[50];
    int n,i,sum,s;
    scanf("%d",&n);
    for(i=1,s=1;i<=n;i++)
    {
        s=s*i;
        printf("a[%d]=%d\n",i,s);
    }
    for(i=1,s=1,sum=0;i<=n;i++)
    {
        s=s*i;
        sum=sum+s;
    }
    printf("sum=%d",sum);
    return 0;
}

回复 支持 反对

使用道具 举报

唐愉刚 发表于 2016-10-2 18:39:35 | 显示全部楼层
[C++] 纯文本查看 复制代码
#include<stdio.h>
int main()
{
	int a[12]; 
	int n,i,s;
	scanf("%d",&n);
	a[0]=1;
	for(i=1;i<=n;i++)
	{
		a[i]=a[i-1]*i;
	}
	for(i=1;i<=n;i++)
	printf("a[%d]=%d\n",i,a[i]);
	for(i=1,s=0;i<=n;i++)
	{
		a[i]=a[i-1]*i;
		s=a[i]+s;
	}
	printf("s=%d",s);
	return 0;
}

回复 支持 反对

使用道具 举报

龚乙 发表于 2016-10-2 18:43:44 | 显示全部楼层
[C++] 纯文本查看 复制代码
#include<stdio.h>
int main()
{
	int a[50];
	int n,i;
	scanf("%d",&n);
	a[0]=1;
	for(i=1;i<n;i++)
	{
		a[i]=a[i-1]*i;
	}
	for(i=0;i<n;i++)
	{
		
		printf("jiechen:%d\n",a[i]);
	}
	int sum;
	for(i=1,sum=0;i<n;i++)
	{
		a[i]=a[i-1]*i;
		sum=a[i-1]+a[i];
	}
	printf("jiechenhewei%d",sum);
	return 0;
}
	

回复 支持 反对

使用道具 举报

熊义和 发表于 2016-10-2 18:46:16 | 显示全部楼层
[C++] 纯文本查看 复制代码
#include<stdio.h>
int main()
{
    int  a[50];
    int n,i,sum,s;
    scanf("%d",&n);
    for(i=1,s=1,sum=0;i<=n;i++)
    {
        s=s*i;
        sum=sum+s;
        printf("a[%d]=%d\n",i,s);
    }
    printf("sum=%d",sum);
    return 0;
}
优化版

回复 支持 反对

使用道具 举报

熊义和 发表于 2016-10-2 18:46:47 | 显示全部楼层
[C++] 纯文本查看 复制代码
#include<stdio.h>
int main()
{
    int  a[50];
    int n,i,sum,s;
    scanf("%d",&n);
    for(i=1,s=1,sum=0;i<=n;i++)
    {
        s=s*i;
        sum=sum+s;
        printf("a[%d]=%d\n",i,s);
    }
    printf("sum=%d",sum);
    return 0;
}

回复 支持 反对

使用道具 举报

龚乙 发表于 2016-10-2 18:50:23 | 显示全部楼层
[C] 纯文本查看 复制代码
#include<stdio.h>
int main()
{
	int n,i,sum,a[50];
	scanf("%d",&n);
	for(i=1,a[0]=1,sum=0;i<n;i++)
	{
		a[i]=a[i-1]*i;
		sum=a[i-1]+a[i];
		printf("a[i]=%d\n",a[i]);	
	}
	printf("jiechenhewei%d",sum);
	return 0;
}

回复 支持 反对

使用道具 举报

向李 发表于 2016-10-2 18:50:36 | 显示全部楼层
[C++] 纯文本查看 复制代码
#include<stdio.h>
int main()
{
	int a[100];
	int n,b,sn=0;
	scanf("%d",&n);
	a[0]=1;
	for(int i=1;i<=n;i++)
	{
        a[i]=a[i-1]*i;
		printf("a[%d]=%d\n",i,a[i]);
    	sn=sn+a[i];
	}
	printf("sum=%d\n",sn);
    return 0;	
}

回复 支持 反对

使用道具 举报

郑杰 发表于 2016-10-2 18:59:23 | 显示全部楼层
[C++] 纯文本查看 复制代码
#include<stdio.h>
int main( )
{
    int a[50];
    int Sn=0,n,i,sum;
    scanf("%d",&n);
    a[0]=1;
    for(i=1,sum=0,Sn=1;i<=n;i++)
    {
        a[i]=a[i-1]*i;
       Sn+=a[i];
       printf("a[%d]=%d\n",i,a[i]);
    }
    printf("Sn=%d\n",Sn);
    return 0;
}

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 |

本版积分规则

快速回复 返回顶部 返回列表