C语言程序题总汇(1)————数组+递归+指针+结构体

1. (程序题)定义一个结构体,含有两门课的成绩。输入5位同学的两门课成绩 ,输出每位同学的平均分

输入:80 80

          76 76

          20 20

          30 50

          10 90

输出:80.000000

          76.000000

          20.000000

          40.000000

          50.000000

我的答案:

#include<stdio.h>

struct student

{ int x;

  int y;

}stu[5];

int main()

{ float ave[5];

int i;

for(i=0;i<=4;i++)

{ scanf("%d %d",&stu[i].x,&stu[i].y);//注意引用结构体中定义变量时的方法

 ave[i]=(stu[i].x+stu[i].y)/2;}

for(i=0;i<=4;i++)

printf("%f\n",ave[i]);

}

2.(程序题)编写函数,利用指针实现将两个数交换。

#include <stdio.h>

void fun(float  *p,float *q)

{   

}

int main()

{  float x,y;

   scanf("%f%f",&x,&y);

   fun(&x,&y);

  printf("x=%f\ny=%f",x,y);

}

我的答案:

#include <stdio.h>

void fun(float  *p,float *q)

{   float t;

t=*p;*p=*q;*q=t;

}

int main()

{  float x,y;

   scanf("%f%f",&x,&y);

   fun(&x,&y);

  printf("x=%f\ny=%f",x,y);

}

3. (程序题)完成下面代码未完成部分,实现功能:设计一函数,函数功能,输入一个字符串,统计这个字符串中字母字符的个数。

#include "stdio.h"

int  fun(char c[])

}

int main()

{  char a[100];

   printf("%d",fun(a));

}

我的答案:

#include <stdio.h>

int  fun(char c[])

{ int i,j;

for(i=0,j=0;c[i];i++)//注意这里第二个条件的表达,可以提高效率(避免使用strlen函数)

   if(c[i]>='a'&&c[i]<='z'||c[i]>='A'&&c[i]<='Z') j++;

return j;

}

int main()

{  char a[100];

gets(a);

   printf("%d",fun(a));

}

4. (程序题)利用递归程序,输出 n个@

输入 2

输出 @@

我的答案:

#include <stdio.h>

int fun(int n)

{printf("@");

if(n>=2) return fun(n-1);

else return 0;}//注意这里递归的基本形式,要牢记

int main()

{int n;

scanf("%d",&n);

fun(n);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值