C语言典型7种例题

1.编程实现Strcat函数的功能(注意程序中不能出现strcat函数)

Strcat函数功能:Strcat函数作用是把str2所指向的字符串(包括“\0”)复制到str1t所指向的字符串后面。src2中原有的字符不变。
举例:

#include <stdio.h>
#include <string.h>
int main()  
{
    char str1[6] = "hello";
    char str2[6] = "world";
    strcat(str1,str2);

    printf("str1 = %s\n",str1);
    printf("str2 = %s\n",str2);

    int len = strlen(str1);
    printf("len的长度为:%d\n",len);

    return 0;
}

实现Stract函数:

#include <stdio.h>
#include <string.h>
int main()
{
    int i,j;
    char str1[20] = "hello";
    char str2[20] = "world";

    int len1 = strlen(str1);
    int len2 = strlen(str2);
    for(i=0;i<=len2;i++)
    {
        str1[len1+i]=str2[i];
    }

    printf("str1 = %s\n",str1);
    printf("str2 = %s\n",str2);
    len1 = strlen(str1);

    printf("lenµÄ³¤¶È:%d\n",len1);

    return 0;
}

2.求闰年,已知闰年未能被4整除,但不能被100整除,或者能被400整除。1900不是闰年

#include<stdio.h>
int main()
{
    int a,b;
    printf("请输入年份:");
    scanf("%d",&a);
    if((a%4==0&&a%100!=0)||a&400==0)
        printf("是闰年。");
    else
        printf("不是闰年。");

    return 0;
}

3.输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。

#include<stdio.h>
int main()
{
    char string[200];
    int i,c,count = 0, flag = 0;
    gets(string);
    for (i = 0; (c = string[i]) != '\0'; i++) {
        if (c == ' ')
        {
            flag = 0;
        } else if (flag == 0)
        {
            flag = 1;count++;
        }
    }
    printf("count=%d\n", count);
    return 0;
}

4.从键盘任意输入一个整数,求它的立方,并将结果输出。要求在函 数cube中求此数的立方。(注意,此题必须使用函数调用,若在主函数中 求立方,则不得分)

#include<stdio.h>
int cube(int x)
{
    return x*x*x;
}
int main()
{
  int i,j;
  scanf("%d",&i);
  j=cube(i);
    printf("%d",j);
    return 0;
}

5.已知五人,三门课程的成绩,请采用五行三列矩阵输入,求出每位 同学所有课程的总成绩(最终有五个总成绩,对应五位同学)。

#include <stdio.h>
int main()
{

    int a[5][3]={0}, sum[5]={0},i,j;
    for (i = 0; i < 5; i++) 
    {
        for (j = 0; j < 3; j++) 
            {
            scanf("%d", &a[i][j]);
            sum[i] += a[i][j];
}
}
    for (i = 0; i < 5; i++)
    printf("%d ", sum[i]);
    return 0;
}

6.按下面的公式求sum的值 sum =m+ (m+1) + (m+2)+ (m+3)+… +(n-1) +n 例如,如果m和n的值分别为1和100,则计算结果为5050。

#include<stdio.h>
int main()
{
	int m,n,t,s=0,i=0;
	printf("请输入:m,n\n");
	scanf("%d,%d",&m,&n);
	if(m>n)
    {
        t=m;
        m=n;
        n=t;
    }
    for(i=m;i<=n;i++)
        s=s+i;
    printf("sum=%d\n",s);
}

7.对10个数排序

#include<stdio.h>
int main()
{
	int a[10];
	int temp,i,j;
	for(i=0;i<10;i++)
	{
		scanf("%d",&a[i]);
	}
	for(i=0;i<9;i++)
		{
		{
		for(j=i+1;j<=9;j++)
			{
			if(a[i]>a[j])
				temp=a[i];a[i]=a[j];
				a[j]=temp;}}}
for(i=0;i<10;i++)
printf("%d\t",a[i]);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值