A. c语言中数据类型, S为1000000.如何定义它的类型,具体怎么写
这个问题不好答,要看你的编程平台,不同平台的数据类型长度是不同的。如单片机和电脑两个不同的平台。估计不是单片机的话,可以参考一下http://wenku..com/view/4c19ccbdc77da26925c5b0e4.html。long long 类型就行了。当然数据类型也有局限性,总有个大小范围,如果你要存储或运算的数据大于最大范围,或小于最小范围,你应该用程序分多步运算,就可以了
B. c语言中怎么定义一个含有一百万个元素的数组
主要是定义的位子决定了可定义数组的大小
#include <iostream>
using namespace std;
int s[1000000]; //在函数外定义是在堆栈中申请空间,所以可以开到很大的数组(但也不要太太太暴力— —),这样定义是全局的
int main()
{
int t[10000]; //在函数内定义能申请到的空间就比较小了(貌似是在栈里),如果开的太大就会栈溢出(俗称暴栈),直接反应是编译不通过。。。。
return 0;
}
C. C语言产生0-1000000的随机数
直接的方法是:
rand() % N;
返回从 0 到 N - 1 的数字(你就要把N设置为1000001)。但这个方法不好,因为许多随机数发生器的低位比特并不随机。一个较好的方法是:
(int)((double)rand() / ((double)RAND_MAX + 1) * N);
如果你不希望使用 double,另一个方法是:
rand() / (RAND_MAX / N + 1);
两种方法都需要知道 RAND_MAX,而且假设 N 要远远小于 RAND_MAX。ANSI 规定标准头文件 stdlib.h 中包含 RAND_MAX 的 #define。顺便提一下,RAND_MAX 是个常数,它告诉你 C 库函数 rand() 的固定范围。你不可以设 RAND_MAX 为其它的值,也没有办法要求 rand() 返回其它范围的值。如果你用的随机数发生器返回的是 0 到 1 的浮点值,要取得范围在 0 到 N - 1 内的整数,只要将随机数乘以 N 就可以了。
D. c语言中L是什么意思 如long int k=1000000L
意思是1000000是长整形,如果你不写L,1000000可能是整形,float,double。但是一般不用写L,编译器会自动根据你的声明处理的。
E. C中如何定义长度为1000000的整型数组啊
int n[1000000];这样肯定是不行的,因为这样定义的数组用的是栈内存,系统默认值为最大1Mb,一个int型占4字节这样最大可以申请1024*1024/4=264144个,如果考虑到系统自身的占用最大值约为25000个。int *p=(int *)malloc(1000000*sizeof(int));,这样用的是堆内存,只要你内存有那么多的连续空间就可以;例子如下:
#include<stdio.h>
#include<malloc.h>
int main()
{
int *p=(int *)malloc(1000000*sizeof(int));
//int p[1000000];
int i=0;
for(;i<1000000;i++)
printf("%d\n",p[i]=i);
free(p);
return 0;
}
F. C语言怎样开一个大小为1000000的一维数组,直接弄好像运行不了。
通常用两个办法解决这个问题:
声明一个全局数组。就是在所有函数之外声明,如int a[1000000];就可以了。
在需要的函数中用malloc函数动态申请内存,如int *pt=(int *)malloc(sizeof(int)*1000000);就可以了。用完后要用free(pt);释放所申请的内存空间。
G. 请问 我想用c语言输出1-10000000 同时显示计时器 怎么弄啊 谢谢了
C语言计时可以用很多方法。
1. 如果是想使用秒级别的技术,可用使用C语言库<time.h>自带的clock()进行计时。如:
#include <iostream>
#include <time.h>
using namespace std;
int main()
{
clock_t start = clock();
//do some process here
clock_t end = (clock() - start)/CLOCKS_PER_SEC;
cout<<"time comsumption is "<<end<<endl;
}
以上方法只能用于秒级别的计时。
2.如果想使用毫秒级别的计时可以使用2种方法。一种是使用linux的系统库<sys/time.h>,一种是使用CUDA的cutil的库。
A. 如果使用linux的系统库,则可以使用如下方法:
#include <sys/time.h>
int main()
{
timeval starttime,endtime;
gettimeofday(&starttime,0);
//do some process here
gettimeofday(&endtime,0);
double timeuse = 1000000*(endtime.tv_sec - starttime.tv_sec) + endtime.tv_usec - startime.tv_usec;
timeuse /=1000;//除以1000则进行毫秒计时,如果除以1000000则进行秒级别计时,如果除以1则进行微妙级别计时
}
timeval的结构如下:
strut timeval
{
long tv_sec; /* 秒数 */
long tv_usec; /* 微秒数 */
};
上述方法可以进行微妙级别的计时,当然也可以进行毫秒和秒的计时。
B. 如果可以使用CUDA的话,则可以使用CUDA的sdk里面的cutil库里面的函数。
#include <cutil.h>
int main()
{
unsigned int timer = 0;
cutCreatTimer(&timer);//创建计时器
cutStartTimer(&timer);//开始计时
// do some process here
cutStopTimer(&timer);//停止计时
cout<<"time is "<<cutGetTimerValue(&timer)<<endl;//打印时间
}
H. C语言 一个int型到底可以表示多大的数字
int是需要根据编译器的大小进行表达的。
16位编译器说明:int占16位,内存2字节,最大值:32767;
32位和64位编译器:int占32位,内存4字节,最大值:21474836473位数的增加,那么自然位数也在倍增。
决定int最大值的主要原因,根据编译器类型不同而变化。所以某些编写的程序,不能成功的在电脑中运行,多半与编译器有关系,可能并不是程序的原因。一般程序的表达方式,最高位为符号位,位数为n位时,则最大值为2^(n-1)即2的n-1次幂。
(8)1000000用c语言表达扩展阅读
符号积分命令int
int(fun):求函数fun的不定积分;
int(fun,var):求函数fun关于变量var的不定积分;
int(fun, var, a,b,):求函数fun的在[a,b]间的定积分或广义积分;
示例
>> clear;syms x y z;
>> int(sin(x*y+z),z)
ans = -cos(x*y+z)
在MATLAB命令窗口中输入doc int查看int的帮助信息。
I. C语言中如何表示数值的范围
代码如下:
#包括< stdio, h >
Intmain()
{
Int,n。
扫描文件(“% d % d”,& s & n);
S-;//s-1;我们把周一到周日的时间设为0到6
S+=n;
S%=7;//通过调制来限定结果
S++;//转换回1-7表示
Printf("%d\n",s);//输出结果
返回0;
}
(9)1000000用c语言表达扩展阅读:
在C语言中,char一般取1个字节,即8个二进制位。每一位都有两个0或1的值。利用乘法原理,排列组合的个数是1002^8=256个排列。
如果是无符号字符类型,即无符号字符类型,那么它总共可以表示256个无符号数字[0,255]。
如果它是带符号的字符类型,即带符号的字符或字符类型,它可以表示[-128,127],256个有符号的数字。
在有符号整数的表达式中,现在的计算机一般采用原代码、问题代码、补码三种编码方法。源代码的表示,最高位是符号位,0是正的,答案1是负的。因此,带符号的char类型的最大值的二进制位返回如下:
01111111//最高位是符号位,它是127
最小值的二进制位如下:
1000000//负值绝对值越大,值越小。是-128
J. 把1000000个人年龄排序,怎么用C语言表达,,
你的编译器是否是古老的过时的TC?
现在的编译器
int
就是
long
int。
你写的数组大小小于要求,需要6个0。
另外,需要开为
全局量
!放到
main(){}
以前,或
static
short
a[1000000];
就可以了。
年龄
最多
150岁,short
int
足够。下标
用
long
int
就可以了。