编程

 在字符串的指定位置添加另一个字符串:

/*****************************************************
copyright (C), 2014-2015, Jinling Institute of Tecnology
File name:2-5.c
Author: Zhang.Y.F  Version:0.1    Date: 2018-07-23 20:45
Description:
Funcion List: 
*****************************************************/

#include <stdio.h>
#include<string.h>
int main()
{
    char s1[20],s2[20];int n;
    printf("pelease input:\n");
    scanf("%s",s1);
    scanf("%d",&n);
    scanf("%s",s2);

    int lenth1;
    lenth1 = strlen(s1);
    int a,i,j;
    char c[40];
    int k;
    for(i = 0;i <= n - 1; i++)
    {
        c[i] = s1[i];
    }
    for(j = 0;s2[j] != '\0';j++)
    {
        c[i+j] = s2[j];
    }
    for(k = n;s1[k] != '\0';k++)
    {
        c[j+k]=s1[k];
    }
    c[j + k]='\0';
    printf("%s\n",c);
}

统计 1-n有多少个9:

#include <stdio.h>
int main()
{
    int n;
    printf("please input a num:\n");
    scanf("%d",&n);
    int i;
    int count = 0;
    for(i = 1;i <= n; i++)
    {
        int a;
        a = i +1;
        if(a % 10 == 0){
            count = count + 1;
        }
    }
    printf("%d\n",count);
    return 0;
}

 有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位.

#include<stdio.h>
 
int main()
{
	int n, count, i;
	int cn = 0;
	int p = 0;
	int index = 0;
 
	printf("please input :\n");
	scanf("%d", &n);
	int a[n];
	count = n;//对非0计数
	for(i = 0; i < n; ++i)
        a[i] = i + 1;
	while(1)
	{
		count = 0;
		for(i = index - n * p; i < n; ++i)
		{
			if(a[i] != 0 )
			{	
				count += 1;
				cn += 1;
				if(cn == 3)
				{
					cn = 0;
					a[i] = 0;
				}	
			}
			
			index += 1;
		}
		p += 1;
		if(count == 1) break;
	}
	for(i = 0; i < n; ++i)
	{
		if(a[i] != 0)
		{
			printf("%d\n",a[i]);
		}
	}
	
	return 0;
}

一个数如果恰好等于它的因子之和,这个数被成为”完数”,例如:6=1+2+3.请编程找出1000以内的完数

/*****************************************************
copyright (C), 2014-2015, Jinling Institute of Tecnology
File name:t5.c
Author: Zhang.Y.F  Version:0.1    Date: 2018-07-24 11:03
Description:
Funcion List: 
*****************************************************/

#include <stdio.h>
int main()
{
    int i= 0,j=0;
    int count=0;
    int tmp = 0;
    for(i = 0;i <= 1000; ++i)
    {
        for(j = 1;j < i; ++j)
        {
            count = i % j;
            if(count == 0)
            {
                tmp = tmp + j;
        }
        }
            
        if(tmp == i)
        {
            printf("%d\n",i);
        }
        tmp = 0;
    }
    return 0;
}

 在字符串中指定位置添加字符

#include<stdio.h>
#include<string.h>
int main()
{
    char a[50];char b;int n;
    printf("please input :");
    scanf("%s",a);
    scanf("%c",&b);
    scanf("%d",&n);
    int i, j = 0, k=0;
    int length;
    length = sizeof(a);
    char c[50];
    for(i = 0;i <= n - 1;i++,j++)
    {
        c[j] = a[i];
    }
    c[i+1] = b;
    for(k = n;k <= length;k++)
    {
        c[k+1]=a[k];

    }
    printf("%s",c);
}

ps:这个有问题,但是 目前还没找出来。。。

猜你喜欢

转载自blog.csdn.net/chenxinntu/article/details/81190906