定义一个整型数组a[4]并从键盘输入各元素的值,利用指针变量求该数组元素的积
c 语言程序如下:
#include
int main()
{
int a[4];
int i;
double v=1;
printf("input 4 int data:\n");
for (i=0;i<4;i++){
scanf("%d",a+i);
v = *(a+i) * v;
}
printf("result: %.0lf\n",v);
return 0;
}
例子:
input 4 int data:
123 456 789 101112
result: 4474553016384
程序里:
a+i 是地址
*(a+i) 是值
你若要显式指针,可以修改3行:
int a[4],*p=a;
scanf("%d",p+i);
v = *(p+i) * v;
java定义一个浮点型数组,含8个元素,从键盘输入数组元素的值,求最小值
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
float[] numbers = new float[8];
Scanner myScanner=new Scanner(System.in);
for(int i=0;i<8;i++){
System.out.println("请输入第"+(i+1)+"个数:");
numbers[i] = myScanner.nextFloat();
}
float min = numbers[0];
for(int i=0;i
if(min > numbers[i]){
min = numbers[i];
}
}
System.out.println("最小值为:" + min);
}
}
简单写的,没有做错误判断,需要的话自己完善~~~
编写一个程序,要求从键盘输入一个包含15个元素的整型数组,计算数组元素的平均值并输出
#define ARRAYLEN 15
int main(void)
{
int array[ARRAYLEN ] = {0};
int i, m,min, tmp = 0,avg = 0;
printf("请输入%d个整数:\r\n", ARRAYLEN );
for(i=0; i < ARRAYLEN; i++)
{
scanf("%d", &tmp);
array[i] = tmp;
}
//求均值与最小值
min = array[0];
m = 0;
for(i=0; i < ARRAYLEN; i++)
{
avg += array[i];
if(array[i] < min)
{
min = array[i];
m = i;
}
}
printf("最小值:%d, index:%d\r\n", min, m);
printf("均值:%d\r\n", avg / ARRAYLEN);
}
一个整型数组包含十个元素通过指针变量输入该数组的值,从第二个元素开始每个元素的值等于原值减前一元素值
#include
void main()
{
int i,a[5];
int *p=a;
for(i=0;i<5;i++,p++)
{
*p=i;
}
p-=5;
for(i=0;i<5;i++)
{
printf("%d ",*p++);
}
printf("\n");
for(i=0;i<5;i++)
{
printf("%d ",a[i]);
}
}
已知一个整型数组a[5],其各元素值为4,6,8,10,12。使用指针求该数组元素之积
用C写的
#include
main()
{
int a[5]={4,6,8,10,12};
int *p,s=1;
for(p=a;p<=a+4;p++)/*由于数组名表示数组的首地址*/
s=s*(*p);/*这里的*p是p贮存的数据*/
printf("%d\n",s);
}
C++定义一长为20的数组,从键盘输入数组元素的关键字值,对数组元素按关键字非递减排序
#include
using namespace std;
void main()
{
int a[20];
int i,j;
for(i=0;i<20;i++)
cin>>a[i];
for(i=0;i<19;i++)
for(j=0;j<19-i;j++)
if(a[j]>a[j+1])
{
int temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
for(i=0;i<20;i++)
cout<
cout<
}
设有一包含10个元素的整型数组,利用指针变量操作数组,求最大值及其下标,并求数组元素之和以及平均值~
#include
#include
int main()
{
int integer[10]={3,67,-34,78,23,346,0,-14,100,52};
int i=0,max=*(integer),min=*(integer);
double avg=0;
long sum=0;
for(i=0;i<10;i++)
{
printf("%d ",*(integer+i));
if(min>*(integer+i))
min=*(integer+i);
if(max
max=*(integer+i);
sum+=*(integer+i);
}
avg=sum/10.0;
printf("\n");
printf("min=%d max=%d avg=%lf sum=%ld ",min,max,avg,sum);
getchar();
return 0;}
数组能改变该数组元素的值么?
数组元素的值当然能改变
定义一个长度为10的数组,利用一个循环让用户从键盘输入各元素的值,
你试试。我刚写得
#Include
void main()
{
int i,j,d,a[10];
for(i=0;i<10;i++)
scanf("%d",a[i]);
printf("enter check num:");
scanf("%d",d);
printf("%d",a[d-1]);
}
这样就可以勒
当然 也可以改成
#Include
void main()
{
int i,j,d,a[10];
for(i=0;i<10;i++)
scanf("%d",a[i]);
printf("enter check num:");
scanf("%d",d);
printf("%d",a[d]);//printf("%d",a[d-1])这个要根据你得要求选择.//比如要查看第一个数 输入1.
}
定义整形一维数组,从键盘输入一维数组元素数值后,用循环语句显示所有元素的值.
import java.util.Scanner;
public class Array {
public static void main(String[] args) {
int array[] = new int[20];
Scanner scanner = new Scanner(System.in);
for(int i = 0; i < array.length;i++){
array[i] = scanner.nextInt();
}
for(int i = 0;i < array.length;i++){
System.out.println(array[i]);
}
}
}
点击查看隐藏内容