编程实现:使用指针,通过键盘输入给一个具有10个元素的整型数组赋值,然后将这10个元素输出,并求和。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编程实现:使用指针,通过键盘输入给一个具有10个元素的整型数组赋值,然后将这10个元素输出,并求和。相关的知识,希望对你有一定的参考价值。

编程实现:使用指针,通过键盘输入给一个具有10个元素的整型数组赋值,然后将这10个元素输出,并求和。(将程序代码和运行结果写在题目后面)

#include <stdio.h>


int main()

    int a[10],sum,*p;

    for(p=a,sum=0;p<a+10;++p)

   

        scanf("%d",p);

        sum+=*p;

   

    for(p=a;p<a+10;++p)

   

        printf("%d ",*p);

   

    printf("\\n%d\\n",sum);

    return 0;

参考技术A #include <stdio.h>
int main()

int *pointer, array[10], sum=0;
for(pointer=array;pointer<array+10;pointer+=1)
scanf("%d",pointer);getchar();sum+=*pointer;
puts("");
for(pointer=array;pointer<array+10;pointer+=1)printf("%d\t",*pointer);
puts("");
printf("%d\n",sum);
return 0;

c语言指针数组排序?

用指针实现:由键盘输入10个整数,将他们按由小到大的顺序排列。
输入: 键盘输入的10个整数。
输出: 按由小到大的顺序排列。
输入样例: 1 5 4 3 2 9 23 11 5 7
输出样例: 1 2 3 4 5 5 7 9 11 23
#include<stdio.h>
main()

char i,a[10];
float *p;
p=a;
for(i=0;i<10;i++)
gets(a[i]);
if(a[i]>a[i+1])

p=a[i];
a[i]=a[i+1];
a[i]=p;

printf("%d\n",i);


哪里错误?!

p是int类型指针,指向数组a的第1个元素即一个一维的数组1,2,3首地址所以p[1]相当于a[0][1]所以printf("%d\n",p[1]);
输出2 。 int **pp =pa 是声明了一个指向pa的指针,而pa又是指向a首地址的int类型指针。pa指向的是a的第一维,pa[0] = a[0] ,pp[2][1]相当于a[2][1]而a数组的[2]中只初始化了[2][0]位置的7,那[2][1]位置就是默认的值0,所以printf("%d\n",pp[2][1]);
输出0
参考技术A //冒泡排序算法
#include<stdio.h>
void swap2(int*,int*);
void bubble(int a[],int n);
int main(void)

int n,a[8];
int i;

printf("Enter n(n<=8):");
scanf("%d",&n);
printf("Enter a[%d]:",n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
bubble(a,n);

printf("After sorted,a[%d]=",n);//输出
for(i=0;i<n;i++)
printf("%3d",a[i]);

return 0;

void bubble(int a[],int n) //n是数组a中待排序元素的数量

int i,j;
for(i=1;i<n;i++) //外部循环
for(j=0;j<n-i;j++) //内部循环
if(a[j]>a[j+1]) //比较两个数的大小
swap2(&a[j],&a[j+1]); //如果前一个元素大,则交换

void swap2(int*px,int*py)

int t; //两数交换
t=*px;
*px=*py;
*py=t;
参考技术B #include<stdio.h>
main()

char i,a[10];/*这里是int*/
float *p;/*这里也是int p */
p=a;/*这个不要*/
for(i=0;i<10;i++)/*这里是10-1*/
gets(a[i]);
if(a[i]>a[i+1])

p=a[i];
a[i]=a[i+1];
a[i]=p;

printf("%d\n",i);/*for(i=0;i<10;i++)printf("%d",a[i]);*/
参考技术C #include<stdio.h>
void main()

void paixu(int *);
int a[10],*p;
p=a;
for(;p<a+10;p++)
scanf("%d",p);
paixu(a);
for(p=a;p<a+10;p++)
printf("%4d"*p);

void paixue(int *p)
int *i,*j,num;
for(i=p;i<p+10;i++)
for(j=i;j<i+10;j++)
if(*i>*(j+1))

mun=*i;
*i=*(j+1);
*(j+1)=mun;
参考技术D 输出的应该还是数组里的值而不是下标吧。另外i应该定义成int型不能定义为char型。先初始化时循环读入十个数,比较时也要循环十次,不能放一个for循环里边。

以上是关于编程实现:使用指针,通过键盘输入给一个具有10个元素的整型数组赋值,然后将这10个元素输出,并求和。的主要内容,如果未能解决你的问题,请参考以下文章

用指针实现:由键盘输入10个整数,将他们按由小到大的顺序排列。

c++通过指针变量对键盘输入的字符串中的字符按ASCII码值从小到大排列有如下要求定义一个字符数组

编程程序,从键盘输入10个整数给一维数组a[10], 统计数组元素中奇数和偶数个数

c语言指针数组排序?

C语言编程:从键盘输入10个数,求最大值,最小值和平均值

C语言编程:从键盘输入10个数,求最大值,最小值和平均值