15级程序设计基础题库(c语言)2 - 截止到指针 - 答案版本(7)

2020-02-21 22:25

gets(str1);

for(i=0;(c=str1[i])!='\\0';i++) {

if(c>='0' && c<='9') { sum+=1; } }

printf(\

}

70、 定义两个字符串,合并成一个新的字符串并输出。(较难) #include #include void main() { char str1[100]={\ char str2[]=\ strcat(str1,str2); puts(str1); }

七、函数(抽1道,写代码)

注:在分支结构中任抽一题,要求用函数实现。(较难)

八、指针(10道抽1道,写代码)

71、 定义函数求2个整数的最大值(要求使用指针变量作函数参数来实现)。(

#include

int smax(int * pa,int * pb) {

int max; if (* pa > * pb) { max = * pa; } else { max = * pb; }

较难) return max; }

void main() {

int a,b ,max;

int smax(int * pa,int * pb); scanf(\ int * pa,* pb; pa = &a; pb = &b;

max=smax(pa,pb);

printf(\最大值:%d\\n\}

72、 定义函数实现两个float型数的交换(要求使用指针变量作函数参数来实现)。(较

难)

#include

void swap(float * pc,float * pd) { float p; p= * pc; * pc=* pd; * pd=p; }

void main () { float a,b; void swap(float * pc,float * pd); scanf(\ float * pa =&a; float * pb =&b; printf(\交换前指针指向的地址的值:%f,%f\\n\ swap(pa,pb); printf(\交换之后指针指向的地址的值:%f,%f\\n\ }

73、 定义(返回指针)函数求三个数的最大值。(较难)

#include

float * smax(float a[3]) {

float * pa; pa = &a[0];

for (int i=1;i<3;i++) { if ( *pa < a[i]) { pa = &a[i]; } }

return pa; }

void main() // {

float a[3]={2.1f,2.3f,45}; float * smax(float a[3]); float * pa; pa = smax(a);

printf(\最大值:%f\\n\}

74、 定义(返回指针)函数求三个数的和。(较难)

#include

float * mysum(float a[3]) {

float j=0; float * sum;

sum = &j;//初始化指针的地址 for (int i=0;i<3;i++) { j += a[i]; }

return sum; }

void main() // {

float a[3]={2,10,3}; float * sum;

sum = mysum(a);

printf(\最大值:%f\\n\}

75、 定义函数求x,y中的较小数(要求用指向函数的指针实现)。(#include void main()

难)

{

int mymin (int,int);//定义一个函数

int (* p)(int,int);//定义一个指向函数的指针 int min,x,y;

p = mymin;//给指针p赋初值; printf(\请输入x,y的值:\ scanf(\ min=p(x,y);

printf(\最小值为:%d\\n\ }

int mymin(int a,int b) {

if (a void main() {

int mymax (int,int);//声明一个函数

int (* p)(int,int);//定义一个指向函数的指针 int max,x,y;

p = mymax;//给指针p赋初值; printf(\请输入x,y的值:\ scanf(\ max=(*p)(x,y);

printf(\最小值为:%d\\n\ }

int mymax(int a,int b) {

if (a

难)

}

else { return a; }

77、 求一个字符串中的数字字符之和。(要求用指向字符串的指针实现)(难)

#include #include void main() {

char * s =\ int len;//定义字符串长度变量 int sum = 0; len=strlen(s);

for (int i=0;i='0' && (*s)<='9') { sum += (* s)-'0'; } s++; }

printf(\}

78、 输出字符串长度。(要求用指向字符串的指针实现)(难) #include #include

void main() //输出字符串的长度 { char * s =\ int len;//定义字符串长度变量 len=strlen(s); printf(\字符串的长度len=%d\\n\}

79、 键盘输入10个数,输出10个数的和(指向一维数组的指针实现)。(难)

#include void main() // 79、 {

int a[10];

键盘输入10个数,输出10个数的和(指向一维数组的指针实现)


15级程序设计基础题库(c语言)2 - 截止到指针 - 答案版本(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:整句和散句的变换

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: