注册 登录
编程论坛 C语言论坛

请教 怎么让 n1 的取值范围成为 0到9 ?

宇宙规律 发布于 2020-02-07 17:22, 3065 次点击
    #include<stdio.h>        
    #include<math.h>        
    #define n 10            
#define n1     0        
    void main()        
    {   
int i;   
double b[n]={1,2,3,4,5,6,7,8,9,0},a[n-n1],c[n]={0,9,8,7,6,5,4,3,2,1},            
for(i=0;i<n-n1;i++)
{
a[n-n1]=b[n-n1]-c[n-n1];

printf("%lf  \n ",a[n-n1]);            
}   

怎么让 n1 的取值范围成为 0到9 ?




14 回复
#2
叶纤2020-02-07 17:45
先回答我以下几个问题?你学的教材是什么?
你要做什么?想要什么结果?
程序代码:
     #include<stdio.h>        
    #include<math.h>        
    #define n 10            
#define n1     0        //宏定义n1有什么意义?
    void main()        //viod ?你用的什么编译器?
    {   
int i;   
double b[n]={1,2,3,4,5,6,7,8,9,0},a[n-n1],c[n]={0,9,8,7,6,5,4,3,2,1},            //a[n-n1]不就是a[n]吗?元素是整形为什么要用double类型?为什么这句话的末尾是逗号?
for(i=0;i<n-n1;i++)//为什么不写为i≤n?
{
a[n-n1]=b[n-n1]-c[n-n1];//你一直循环10次a[10]=0-1;干什么

printf("%lf  \n ",a[n-n1]);           //打印了10次-1吗?
}   
  

#3
自学的数学2020-02-07 18:04
程序代码:
#include<stdio.h>        

 #include<math.h>        

 #define n 10            

 main()        
{ int i,n1;
  for(n1=0;n1<10;n1++)
  {double b[n]={1,2,3,4,5,6,7,8,9,0},a[n-n1],c[n]={0,9,8,7,6,5,4,3,2,1};      
   for(i=0;i<n-n1;i++)
   {
      a[n-n1]=b[n-n1]-c[n-n1];
      printf("%lf  \n ",a[n-n1]);            
   }  
  }
  
}
#4
宇宙规律2020-02-07 18:08
1:C++6.0
2:n1 我在别的复杂的程序里 有宏定义n1,我想让n1取值范围0到9,不知道能不能?
3:这个简单程序,是简单举例,好理解,非常感谢!
#5
宇宙规律2020-02-07 18:17
回复 3楼 自学的数学
只有本站会员才能查看附件,请 登录
#6
自学的数学2020-02-07 18:20
我发出的代码都是可以运行的,我试验过了。 用的是DEV C++。
#7
宇宙规律2020-02-07 18:22
回复 6楼 自学的数学
DEV C++ 有免费软件吗
#8
自学的数学2020-02-07 18:27
是免费的啊。
#9
宇宙规律2020-02-07 18:29
回复 8楼 自学的数学
那我就下载看看好用吗
#10
宇宙规律2020-02-07 18:42
回复 3楼 自学的数学
只有本站会员才能查看附件,请 登录
#11
宇宙规律2020-02-07 19:09
回复 6楼 自学的数学
请教 DEV C++ 程序还是无法运行?
#12
自学的数学2020-02-07 19:30
3楼的代码是可以运行的,你要注意检查标点符号。再试试。
#13
宇宙规律2020-02-07 19:46
回复 12楼 自学的数学
真的可以运行了,非常感谢!
只有本站会员才能查看附件,请 登录
#14
叶纤2020-02-07 19:56
程序代码:
#include<iostream>
using namespace std;

int main()
{    int a[5]={1,6,7,4,5};
     int b[5]={3,6,4,3,2};
     int c[5]={};
    int i{};
     for(i=5-1;i>=0;--i)
     {c[i]=a[i]-b[i];
     cout<<c[i];
    }
    cout << '\n';
      for(int j=0;j<5;j++)
    {cout<<c[j];
    }
}  

我不知道你要的是哪种结果正的反的都给你吧
3130-2
-20313
#15
叶纤2020-02-07 20:34
以下是引用自学的数学在2020-2-7 18:04:01的发言:

 #include<stdio.h>        
 #include<math.h>        
 #define n 10            
 main()        
{ int i,n1;
  for(n1=0;n1<10;n1++)
  {double b[n]={1,2,3,4,5,6,7,8,9,0},a[n-n1],c[n]={0,9,8,7,6,5,4,3,2,1};      
   for(i=0;i<n-n1;i++)
   {
      a[n-n1]=b[n-n1]-c[n-n1];
      printf("%lf  \n ",a[n-n1]);            
   }  
  }

}

个人感觉您有一些地方没考虑到
我改编了一下应该是
程序代码:


 #include<stdio.h>        


 #include<math.h>        


 #define n 10      

int  main()        
{ int i,n1;
  for(n1=0;n1<10;++n1)
  {double b[n]={1,2,3,4,5,6,7,8,9,0},a[n-n1],c[n]=
                          {0,9,8,7,6,5,4,3,2,1};      
   for(i=0;i<n-n1;++i)
   {
      a[(n-1)-n1]=b[(n-1)-n1]-c[(n-1)-n1];
      printf("%lf  \n ",a[(n-1)-n1]);            
   }  
  }
  
}





1