2021-07-05

6.任意输入两个字符串,逐个比较两个字符串对应位置上的字符,并把ASCII值大或相等的字符依次存放到新的数组c中,形成一个新的字符串并输出,要求用函数编程实现。

7.通过键盘输入下面表格中学生的信息,编程计算并输出4门课程平均成绩最高的学生记录。
学号 姓名 性别 出生日期 数学 英语 语文 计算机
年 月 日
10031 Wanggang m 1991 5 19 72 83 90 82
10032 Liming m 1992 8 20 88 92 78 78
10033 Wangli f 1991 9 19 98 72 89 66
10034 Chenhong f 1992 3 22 87 95 78 90
其中,m表示男,f表示女。

8.编程统计候选人的得票数。设有3个候选人zhang、li、wang(候选人姓名不区分大小写),10个选民,选民每次输入一个得票的候选人的名字,若选民输错候选人姓名,则按废票处理。选民投票结束后程序自动显示各候选人的得票结果和废票信息。要求用结构体数组candidate表示3个候选人的姓名和得票结果。

9.编写程序,求出n1至n2自然数之和。要求使用递归方法。

10.递归实现求Fibonacci数列。f(n)=f(n-2)+f(n-1)(n>1)其中f(0)=0,f(1)=1。

6.
#include<stdio.h>
char bi(char a,char b)
{
	return(a>b?a:b);
}
main()
{
	char a[10],b[10],c[10];
	int i;
	scanf("%s",&a);
	scanf("%s",&b);
	for(i=0;i<10;i++)
	{
		c[i]=bi(a[i],b[i]);
	}
	printf("%s",c);
}
7.
#include<stdio.h>
struct student
{
	int num;
	char name[10];
	char xing;
	struct birthday
	{
		int year;
		int mouth;
		int day;
	}a;
	int cheng[4];
};
main()
{
	struct student stu[4]={{1,"wanggang",'m',.a={1991,5,19},72,83,90,82},
		{2,"liming",'m',.a={1992,8,20},88,92,78,78},
		{3,"wangli",'f',.a={1991,9,19},98,72,89,66},
		{4,"chenghong",'f',.a={1992,3,22},87,95,78,90},
	};
	int i,j;
	int avger[4],sum[4]={0};
	for(i=0;i<4;i++)
	{
		for(j=0;j<4;j++)
		sum[i]+=stu[i].cheng[j];
		avger[i]=sum[i]/4;
	}
	int max=0;
	for(i=0;i<4;i++)
	if(max<avger[i])
	max=avger[i];
	for(i=0;i<4;i++)
	{
		if(max==avger[i])
		{
			printf("%d  %s  %c  %d  %d  %d   %d   %d   %d   %d",stu[i].num,stu[i].name,stu[i].xing,stu[i].a.year,stu[i].a.mouth,stu[i].a.day,stu[i].cheng[0],stu[i].cheng[1],stu[i].cheng[2],stu[i].cheng[3]);
		}
	}
}
8.
#include<stdio.h>
#include<string.h>
struct man
{
	char name[10];
	int shu;
}m[3]={"zhang",0,"li",0,"wang",0};
main()
{
	int i,name[10],j;
	for(i=0;i<10;i++)
	{
		scanf("%s",name);
		for(j=0;j<3;j++)
		{
		if(strcmp(name,m[j].name)==0)
			m[j].shu+=1;
		}
	}
	for(i=0;i<3;i++)
	printf("%s  %d\n",m[i].name,m[i].shu); 
}
9.
#include<stdio.h>
he(int n,int m)
{
	int sum=0;
	if(n==m)
	return(n);
	else
	return(n+he(n+1,m));
}
main()
{
	int n,m;
	scanf("%d%d",&n,&m);
	printf("%d",he(n,m));
}
10.
#include<stdio.h>
f(int n)
{
	if(n==0||n==1)
	return(1);
	else
	return(f(n-2)+f(n-1));
}
main()
{
	int n;
	scanf("%d",&n);
	printf("%d",f(n));
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值