Ⅰ c语言数组的编写
不行,你这个数组的大小不能在程序里通过计算得出来,必须一开始就定义好,想改也只有程序开头用define,不可以让用户动态输入计算。
double TINA,T;这一句你定义的TINA只是一个数而不是数组,所以一定要有后面的才可以定义出数组。
for(i=1;i<=2;i++)
for(j=1;j<=2;j++)数组下表是从0开始的而不是1,你要么改这里,要么改最后一句为TINA[i-1][j-1]
printf("%s","输入温度");循环到这里就结束了,所以应该把这句和下面用大括号放在一起。
TINA[i][j]=scanf("%lf",&T);
即使你改了还是不可以达到目的~~~
Ⅱ c语言数组规则
1.1 一维数组的定义、初始化和引用
1.一维数组的定义方式为:
类型说明符 数组名[常量表达式]
(1)数组名的命名方法与变量名相同,遵循标识符命名规则;
(2)数组是用方括号括起来的常量表达式,不能用圆括号;
(3)常量表达式表示数组元素的个数,即数组的长度,数组的下标从0开始,下标的最大值为:常量表达式-1;
(4)常量表达式中可以包括常量和符号常量,不能包括变量。
可以用赋值语句或输入语句使数组中的元素得到值,但要占用运行时间。可以使数组在运行之前初始化,即在编译阶段使之得到初值。
2.对数组初始化可以用以下方法实现:
(1)在定义数组时对数组元素赋以初值。如:
static int a[10]={0,1,2,3,4,5,6,7,8,9};
经过上面的定义和初始化后,a[0]=0,a[1]=1,…,a[9]=9。
(2)初始化时可以只对一部分元素赋初值。例如:
static int a[10]={0,1,2,3,4};
定义的数组有10个元素,但只对其中前5个元素赋了初值,后5个元素初值为0。
(3)如果想使一个数组的元素值全部为0,可以用下面的方法:
static int a[10]={0,0,0,0,0,0,0,0,0,0};
不能用:
static int a[10]={0*10};
如果对static型数组不赋初值,系统会对定义的所有数组元素自动赋以0值。
(4)在对全部数组元素赋初值时,可以不指定数组长度。
3.一维数组的引用方法是:
C语言规定不能一次引用整个数组,引用时只能逐个元素引用,数组元素的表示形式为:
数组名[下标]
下标可以是整型常量或整型表达式。如:
a[0]=a[5]+a[7]-a[2*3];
Ⅲ c语言编写的针对数组数据,构建试程序,得到程序的运行时间。哪位高手帮我看一下程序的问题
存在一种错误,就是double强制转换格式不对
time[0]=double (end-begin)/CLOCKS_PER_SEC/M;
上面写法错误,应该用(double),改成下面写法,就不会输出全是0
time[0]=(double) (end-begin)/CLOCKS_PER_SEC/M;
Ⅳ C语言里面的数组都是在编译的时候就分配好内存的吗
编译的时候 只是确定了内存的大小
实际分配还是在运行时分配的
否则 无数的C语言程序 每一个都分配一段内存
却不运行 电脑受不了的
Ⅳ C/C++里定义大数组花费时间吗(就是说对于大数组,定义和声明花费的运行时间一样多吗)
c/c++像上面这样创建一个新数组时,是不会初始化的,之前这段内存里存了什么还是什么,所以花费的时间应该只是把xxx指向了这段内存(具体的就不清楚了,还是去一些有大神存在的c++论坛去问比较好)。而且即使你初始化了xxx[MAX]={0},这种对内存的操作是非常快的,所以需要担心的只是数组长度是不是在限制范围内以及选择数组好还是new一段内存好这些问题,对内存的操作时间都不是问题。
Ⅵ C语言数组编译问题~~~~~
void Printfnumber(int b[],int n){ int i; for(i=0;i<n;i++) { printf("%d\t",&b[i]); //去掉&就OK!! } printf("\n");
Ⅶ C语言中哪些占用编译时间,那些占用运行时间
运行时间是程序运行的时间 编译时间是程序翻译成二进制码的时间
Ⅷ 使用C语言如何将一个时间数组转换为UTC时间
应该是将时间结构体转为UTC时间。可以使用asctime函数。
1、asctime函数:
原型:char* asctime (const struct tm * timeptr);
功能:把timeptr指向的tm结构体中储存的时间转换为字符串;
头文件:time.h;
返回值:一个固定格式的字符串。字符串格式为:Www Mmm dd hh:mm:ss yyyy。其中Www为星期,Mmm为月份,dd为日,hh为时,mm为分,ss为秒,yyyy为年份。
2、例程:
#include<time.h>
#include<stdio.h>
intmain(){
time_trawtime;
structtm*timeinfo;
time(&rawtime);
timeinfo=localtime(&rawtime);//使用localtime函数把秒数时间rawtime转换为本地时间以tm结构体保存,并把tm结构体地址储存到timeinfo当中
printf("当前日期为:%s",asctime(timeinfo));//使用asctime函数把tm结构体中储存的时间转换为字符串,并输出
return0;
}
Ⅸ C语言的数组编译问题(急!)
#include "stdio.h"
main()
{ int a[10]={6,9,11,13,18,21,22,2,5,10};
int i,t,j,x=0;;
printf("the ten :");
for(i=0;i<10;i++)
printf("%3d",a[i]);
printf("input a number:\n");
scanf("%d",&t) ;
for(i=0;i<10;i++)
{
if(t==a[i])//应该是等于而不是赋值
{for(j=i;j<10;j++)
a[j]=a[j+1];
x++;//表示删除元素的个数
}
}
for(i=0;i<10-x;i++)
printf("%3d",a[i]);
}
有问题联系
Ⅹ C语言数组编译
输入:
for (i = 0; i < 5; i++)
for (j = 0; j < 5; j++)
scanf("%d", &a[i][j]);
加n处理
for (i = 0; i < 5; i++)
for (j = i; j < 5; j++)
a[i][j] += n;
输出
for (i = 0; i < 5; i++)
{
for (j = 0; j < 5; j++)
printf("%d ", a[i][j]);
printf("\n");
}
其他代码自己补吧