Ⅰ c语言里如何将一个打印函数打印的值存入数组然后进行运算
可以使用sprintf()函数,其原理类似于printf(),如果你PrintDec只是打印参数数据的十进制值的话,那么:
PrintDec(pFile[18]);
PrintChar(',');
PrintDec(pFile[19]);
把打印的数存到str[10]数组中的格式为sprintf(str,"%d,%d",pFile[18],pFile[19]),其他类似。。特别注意定义的数组要足够大。
Ⅱ 怎么使C语言的函数返回值为一个数组
// 方法1,用静态变量进行返回
char *SubFunction(void)
{
static char szText[5] = "adfa"; // 用静态空间
//对p进行赋值操作
return szText;
}
void Caller() // 这个函数调用SubFunction
{
TRACE("%s\n", SubFunction);
}
// 方法2,用指针传递
void SubFunction(char *pText1, char *pText2)
{
// 对pText1, pText2运算
strcpy(pText1, "love");
strcpy(pText2, "you");
return;
}
void Caller() // 这个函数调用SubFunction
{
char szText1[5], szText2[5]; // 当然这里也可以动态分配内存
SubFunction(szText1, szText2); // szText1, szText2就是带回的值
TRACE("%s %s\n", szText1, szText2);
}
Ⅲ C语言如何把输入进去的数放到数组中
include<stdio.h>
void main()
{
int a[3][3],i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
sacnf("%d",&a[i][j]);
for(i=0;i<3;i++)
for(j=0;j<3;j++)
printf("a[%d][%d]=%d ",i,j,a[i][j]);
}
(3)c语言将函数的值存在数组中扩展阅读:
数组的使用规则:
1.可以只给部分元素赋初值。当{ }中值的个数少于元素个数时,只给前面部分元素赋值。例如:static int a[10]={0,1,2,3,4};表示只给a[0]~a[4]5个元素赋值,而后5个元素自动赋0值。
2.只能给元素逐个赋值,不能给数组整体赋值。例如给十个元素全部赋1值,只能写为:static int a[10]={1,1,1,1,1,1,1,1,1,1};而不能写为:static int a[10]=1;请注意:在C、C#语言中是这样,但并非在所有涉及数组的地方都这样,数据库是从1开始。
3.如不给可初始化的数组赋初值,则全部元素均为0值。
4.如给全部元素赋值,则在数组说明中, 可以不给出数组元素的个数。例如:static int a[5]={1,2,3,4,5};可写为:static int a[]={1,2,3,4,5};动态赋值可以在程序执行过程中,对数组作动态赋值。这时可用循环语句配合scanf函数逐个对数组元素赋值。
网络-数组
Ⅳ 在c语言中,将一个数插入一个数组中,程序怎么写
#include
void
main()
{
int
s[10]={1,2,3,4,5,6,7,8,9};
int
n;
printf("请输入需要插入到数组中的位置:");
scanf("%d",&n);
//比如说插入到第三个位置,即s[2]中,则输入3
int
num;
printf("请输入需要插入的数:");
scanf("%d",&num);
for
(int
i=10-1;i>=n;i--)
{
s[i]=s[i-1];
}
s[i]=num;
printf("插入之后的数组:\n");
for
(i=0;i<10;i++)
{
printf("%d
",s[i]);
}
printf("\n");
}
Ⅳ 在c语言中如何把调用函数里的结果赋值给数组
一般用 函数的 参数传递。如果要通过函数返回值传递,可以用指针,另外保存数据的变量退出函数时不得消失。例如: #include int * fun(int n) { int i; static int a[100]; // 这里用static for (i=0;i
Ⅵ C语言中怎么样才能把子函数中的变量值存入数组中
//你看看是不是要这样的效果
#include<vector>
#include"stdio.h"
//子函数
float yourFunction(float number)
{
return number+5;
}
int main()
{
//个人推荐使用容器代替动态指针正卖数组,代码更安全明运 简单;
std::vector<float>array;
//循环时将函数返回的值放到vector中激清梁
for(int i=0;i<10;i++)
{
array.push_back(yourFunction(i));
}
//获取数组中的值
for(int i=0;i<array.size();i++)
{
printf("\n%f",array[i]);
}
getchar();
}
Ⅶ C语言怎样把函数的值赋给数组
void fib(int a[10])
{
//这里求斐波那契数列前10项的值,并依次存放在数组中。
}
main()
{
double ave;
int a[10];
int i;
fib(a);/培带握*传数组名相当于传递数组首地址,也就是指向数行燃组首地配庆址的指针常量。函数调用后数组赋值完成*/
for(i=0;i<10;i++)
{
ave+=a[i];//求累加
}
ave=ave/10;//求平均值
}
Ⅷ C语言如何把输入进去的数放到数组中
有两种方式:
1
先输入数值,在存放在数组的对应位置中,即赋值给对应元素。
如
scanf("%d",&i);
a[k]
=
i;
就是先输入到变量i中,然后把i存储在a的第k个元素中。
2
直接输入到数组对应元素中。
如
scanf("%d",&a[k]);
与1中的例子是相同效果,只是减少了中间变量的使用。
Ⅸ C语言 如何把一个变量值赋给一个数组
这个"如何"其实没有标准答案,因为int变量和该数组没啥关系,你想知道如何必须首先定义放的规则
Ⅹ 求牛人给我讲解下递归函数如何将函数值存到数组中 用c语言 例如北大ACM 1579
又是你....
首先你和1008一样又想先把数据存起来,再一起处理了....这个思路不对,应该是这戚禅样的:
while(数据没结束){
初始化变量;
读入数据;
处理数据;
输出结果;
}
再说这个题,这个题我觉得你想问的是记忆化递归要如何记忆。
这题我没做,看下觉得要么是记忆化递归,要么是推导公式。首先你要理解正常的递归做这个题要如何做。你现在的做法正是一般的递归做法。加入记忆化是这样:
int dp[21][21][21];
int w(int a,int b,int c)
{
if(dp[a][b][c])return dp[a][b][c];
if(a<=0||b<=0||c<=0)
return 1;
if (a>20||b>20||c>20)
return w(20,20,20);
if (a < b && b < c)
return dp[a][b][c]=w(a,b,c-1) + w(a,b-1,c-1) - w(a,b-1,c) ;
else
return dp[a][b][c]=w(a-1,b,c)+w(a-1,b-1,c)+w(a-1, b, c-1)- w(a-1, b-1, c-1) ;
}
即每次做完一个结果就把这冲滚个结果记录到对应的dp[a][b][c]中,这道题只要a,b,c相同结果就相同
然后在每次左前检查这个a,b,c对应的结散仔余果算过没有,算过直接读,没算再去算