11
#include <stdio.h>//定义二维数组a[10][10]和数组指针p[10],并用p对数组a进行初始化和打印输出 #include <stdlib.h> int main() { int a[10][10]; int* p[10]; int i,j; for(i=0;i<10;i++) { p[i]=a[i]; } for(i=0;i<10;i++) { for(j=0;j<10;j++) { *(p[i]+j)=i+i*j+j; } } for(i=0;i<10;i++) { for(j=0;j<10;j++) { printf("%02d ",*(p[i]+j)); } printf("\n"); } return 0; }
第四题:第一种方法做完了,可是有错误实在弄不会了,就问了一个新的做法,能运行了,真的麻烦啊。
#include<stdio.h>//利用动态内存分配方式创建长度为10个int的存储空间,由用户从键盘输入数据进行空间初始化,同时打印输出空间内容 #include<stdlib.h> int main() { int a[10]; int *p=(int *)malloc(10*sizeof(int)); int i; printf("请输入10个整数\n"); for(i=0;i<9;i++) { scanf("%d",&p[i]); } for(i=0;i<9;i++) { printf("%d",p[i]); } return 0; }
第三题:我就不明白了这个a的赋值要给谁,助教老师教了我一些纠正错误,改过来后还是不对,还是等老师上课讲吧。
#include<stdio.h>//用指针实现函数:读入5个字符串,按由小到大的顺序输出这5个字符串。 #include<string.h> int main() { char a[5]; char *p; p=a; int i,j,t; printf("请输入字符串(至多5个字符):"); for(i=0;i<5;i++) scanf("%c",&p[i]); for(i=0;i<5;i++) { for(j=4;j>0;j--) { if(a[j]<a[j-1]) { t=a[j]; a[j]=a[j-1]; a[j-1]=t; } } } printf("由小到大为:"); for(i=0;i<5;i++) printf("%c ",*p++); return 0; }
第二题:这道题嘿嘿还可以
#include<stdio.h>//定义函数void sum(int *p)实现对给定数组a中所有元素求和并打印输出求和结果 void sum(int *p) { int i,sum=0; for(i=0;i<5;i++) sum=sum+*p++; printf("求和结果为%d",sum); } int main() { int a[]={1,3,5,7,9}; int *p=a; sum(p); return 0; }
第一题:我还以为很难呢,终于完成了,真的希望期末别考这个,希望别希望别啊。