编译一个数组
‘壹’ 怎么编译一个,定义一个数组,数组大小用键盘输入c语言的。
数组大小不能动弹定义,即int n;printf("%d",&n);int s[n];错误,只能定义一个大于需求的数组,如 int s[100].(实际需要少于等于100)
‘贰’ C语言数组编译
#include <stdio.h>
void fun(char *a,char c)
{
int i=0,flag=1;
while(a[i])
if(c==a[i++])
{
printf("%d",i);
flag=0;
}
if(flag)
printf("not exist.");
}
main()
{
char a[10]="abcabc";
char c='a';
fun(a,c);
}
‘叁’ C语言数组编译问题~~~~~
你没有理解switch语句啊。。。。
case2、case3也要写输入语句,switch语句是开关语句,当传入switch语句的是几就执行case几,case语句之间是相对独立的,所以case2、case3也要写输入语句。
另外,switch语句中如果不写break,当找到应该执行的case语句后,会继续执行下一个case语句,break用在switch语句中的意思就是跳出switch语句
‘肆’ 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);
即使你改了还是不可以达到目的~~~
‘伍’ java数组编译
String[] sz = { "1", "3", "2" }; for (int i = 0; i < sz.length; i++) System.out.print(sz[i] + " "); Arrays.sort(sz); System.out.println(); for (int i = 0; i < sz.length; i++) System.out.print(sz[i] + " "); 写的个最简单的演示例子,最核心的方法 Arrays.sort(sz),楼主仔细看看相信会明白的
‘陆’ 用JAVA语言编译:数组中包含n个整数,从其中找出k个最小的数,写出你能想到的最快的方法!!!
最快k*O(n)~O(n),将前K个数放入一个k的数组中,按序放,对K+1到N的数,依次如果比K数组总的小,将K中最大的取出,放入最小的数,一直维持K个,最后就是最小的K个。
import java.util.Arrays;
/**先给数值里的值进行从小到大排序,取从0到k-1索引的数组值
* @创建一个数组,包含11个元素,求5个最小的数
* @author Administrator
public class ArrayTest {
public static void main(String[] args) {
//最小元素的个数
int k=5;
//创建一个数组,
int[] arr = {1,3,45,33,67,12,88,11,46,32,89};
//操作数组的工具Arrays,sort()方法自动排序,由小到大
Arrays.sort(arr);
for(int i=0;i<k;i++){
System.out.println(arr[i]);
}
(6)编译一个数组扩展阅读:
此处数组是程序中声明的变量数组。它们不同于控件数组,控件数组是在设计时通过设置控件的 Index 属性规定的。变量数组总是连续的;与控件数组不同的是,不能从一个数组的中部加载或卸载数组元素。
一个数组中的所有元素具有相同的数据类型(在C、C++、Java、pascal中都这样。但也并非所有涉及数组的地方都这样,比如在Visual Foxpro中的数组就并没这样的要求)。当然,当数据类型为 Variant 时,各个元素能够包含不同种类的数据(对象、字符串、数值等等)。可以声明任何基本数据类型的数组,包括用户自定义类型和对象变量。
‘柒’ java 数组的编译问题!
你的异常已经提示很清楚了,第14行开始有错,数组有一个长度,按索引来获取里面数据,你的数组里面可以存放5个数据,索引从0开始,也就是说获取数组中第一个数据应该是[0],那么最大索引应该是4,而你的第14行代码min=min+f[5];这里已经用了f[5],应该是f[4]就是最后一个数据了,你用5越界了。
‘捌’ C语言在编译一个数组程序时出现两个汉字“烫X”原因
数组越界了
#include<stdio.h>
int main()
{
char diamond[][5]={{' ',' ','*'},{' ','*',' ','*'},{'*',' ',' ',' ','*'},
{' ','*',' ','*'},{' ',' ','*'}};
int i,j;
for(i=0;i<=5;i++) //应该是for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
printf("%c",diamond[i][j]);
printf("\n");
}
return 0;
}
‘玖’ 编译数组首元素为2
publicstaticvoidmain(String[]args){
int[]a=newint[10];//生成一个整型数组
a[0]=2;//首元素为2
for(inti=1;i<=9;i++){
a[i]=a[i-1]*2-1;//其余元素赋值
}
//逆序输出
for(inti=9;i>=0;i--){
System.out.println(a[i]);
}
}
Java写的
‘拾’ C语言 如何编写一个数组 使其能够读取任意数量的输入的元素
动态数组+realloc函数即可,例子:
int*pn=(int*)malloc(5*sizeof(int));printf("%p ",pn);
for(i=0;i<5;i++)
scanf("%d",&pn[i]);
pn=(int*)realloc(pn,10*sizeof(int));