c语言入门程序【3】

继续记录c语言入门程序


c语言交流🐧qun:938424667


目录

目录

目录

1.素数函数

2.四位数

3.水仙花数

4.数列

5.比大小

6.三种循环

7.三整数,和,平均数

8.奇偶数问题数组

9.平均值最大值(C++版

10.连接字符串

11.判断字符数量

12.数组里插数

13.矩阵转换

14.结构

15.回文字符


1.素数函数

#include <stdio.h>
#include <math.h>

int isPrime(int num)
{
	int i,m,mag=1;
	m=sqrt(num);
	for(i=2;i<=m;i++)
	{
		if(num%i==0)
		{
			mag=0;
			break;
		}
	return mag;	
	}
}

int main()
{
	int n;
	printf("请输入一个数:");
	scanf("%d",&n);
	if(isPrime(n))
		printf("%d是素数",n);
	else
		printf("%d不是素数",n);
}

2.四位数

#include <stdio.h>
int main()
{
	int num;
	printf("输入一个四位数:");
	scanf("%d",&num);
	printf("%d",(num%10)*1000+(num/10%10)*100+(num/100%10)*10+num/1000);
	return 0;
}

3.水仙花数

#include <stdio.h>
int SXH(int num)
{
	int s,a,b,c;
		a=num/100;
		b=num/10%10;
		c=num%10;
		s=a*a*a+b*b*b+c*c*c;
	if(s==num)
		return 1;
	else 
		return 0;
}
int main()
{
	int i;
	for(i=100;i<=999;i++)
	{
		if(SXH(i))
		{
			printf("%4d ",i);
		}	
	}
}

4.数列

#include<stdio.h>
int main()
{
	long long n;
	long long i=0;
	long long x;
	long long y=0;
	long long sum=0;
	scanf("%lld",&n);
	if(n==1 || n==2)
		printf("%lld",y);
	else if(n>2 && n<=3000)
	{
		for(i=1;i<=n;i++)
		{
			x=i*(i-1)*(i-2);
			sum=sum+x;
			y=sum+y;
		}
		printf("%lld",y);	
	}
	return 0;
 }

5.比大小

#include <stdio.h>
int main()
{
	int t,a,b,c;
	printf("输入三个不同的数:");
	scanf("%d%d%d",&a,&b,&c);
	if(a<b)
	{
		t=a;
		a=b;
		b=t;
	}
	if(a<c)
	{
		t=a;
		a=c;
		c=t;
	}
	if(b<c)
	{
		t=b;
		b=c;
		c=t;
	}
	printf("%d %d %d",a,b,c);
	return 0;
}

6.三种循环

#include <stdio.h>
int main()
{
	int i=1,sum=0;
	while(i<=100)
	{
		sum+=i;
		i++;
	}
	printf("1+2+3+...+100=%d\n",sum);
	
	sum=0;
	i=1;
	do
	{
		sum+=i;
		i++; 
	}while(i<=100);
	printf("1+2+3+...+100=%d\n",sum);
	
	for(i=1,sum=0;i<=100;i++)
	{
		sum+=i;
	} 
	printf("1+2+3+...+100=%d\n",sum);
	return 0;
}

7.三整数,和,平均数

//设计一程序,输入三个整数,
//求它们的和及平均值,平均值保留2位小数位。
#include <stdio.h>
int main()
{
	int a,b,c;
	printf("输入三个整数,空格隔开:\n");
	scanf("%d %d %d",&a,&b,&c);
	printf("sum=%d,avg=%.2f",a+b+c,(a+b+c)/3.0);
	return 0;
}

8.奇偶数问题数组

#include <stdio.h>
int main()
{
	int num[20],jo[2][10];
	int i,m,n;
	printf("输入二十个数,且偶数与奇数占一半:");
	for(i=0,m=0,n=0;i<20;i++)
	{	
		scanf("%d",&num[i]);
	 	if(num[i]%2!=0)
			jo[0][m++]=num[i];
		else
			jo[1][n++]=num[i];
	}
	printf("奇数为:");
	for(i=0;i<10;i++)
		printf("%-4d",jo[0][i]);
	printf("\n偶数为:");
	for(i=0;i<10;i++)
		printf("%-4d",jo[1][i]);
	return 0;
}

9.平均值最大值(C++版

#include <iostream>
#include <iomanip>//包含输出小数点功能的头文件 
using namespace std;
int main()
{
	int num,i,sum=0;
	float  avg=0;	
	int max,num1;
	cout << "输入若干数:" <<endl; 
		
	for(i=1;i<=num1;i++)
	{
		cin >> num;
		sum+=num;//求和 
		
		if(i == 1)
		{
			num1=num;//num1保存变量用来循环和计算
			max=num;//max存第一个值,用来判断;
		}
		
		if(num >= max)//判断最大值 
			max=num;		
	}

	avg=1.0*sum/num1;//求平均值 
	cout << "前"<<  num1 << "位的"
		 << "平均值: " << setprecision(2) << fixed << avg << "最大值: " << max;
	return 0;
} 

10.连接字符串

#include <stdio.h>
#include <string.h>

void strlink(char *c1,char *c2)
{
	int i=strlen(c1),j=strlen(c2);
	int x;
	for(x=0;x<j;x++)
	{
	    c1[i+x]=c2[x];
	}
	printf("连接后:");
	for(x=0;x<i+j;x++)
	{
		printf("%c",c1[x]);
	}
}

int main()
{
	char s1[100],s2[100];	
	printf("输入第一个字符串:");
	gets(s1);
	printf("输入第二个字符串:");
	gets(s2);
	strlink(s1,s2);
	
	return 0;
}

11.判断字符数量

//4、输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数
#include <stdio.h>
int main()
{
	char str;
	int letter=0,space=0,number=0,other=0;
	printf("输入一行字符:\n");
	do
	{
		scanf("%c",&str);
		if(str!='\n')
		{
			if((str>='a' && str<='z') || (str>='A' && str<='Z'))
				letter++;
			if(str == ' ')
				space++;
			if(str>='0' && str<='9')
				number++;
		}
		else
		{
			other++;
		}
	}while(str!='\n');
	printf("英文字母%d个,空格%d个,数字%d个,其他字符%d个",letter,space,number,other);
	return 0;
}

12.数组里插数

//2、有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中
#include <stdio.h>
int main()
{
	int a[11]={1,11,22,33,44,55,67,77,88,99};
	int num,j,i,t;
	printf("输入一个数:");
	scanf("%d",&num);
	a[10]=num;
	for(i=10;i>=1;i--)
	{
		if(a[i]<a[i-1])
		{
			t=a[i];
			a[i]=a[i-1];
			a[i-1]=t;
		}
	}
	for(i=0;i<=10;i++)
		printf("%4d",a[i]);
	return 0;
} 

13.矩阵转换

#include <stdio.h>
int main()
{
	int a[2][3],i,j;
	printf("输入一个2*3的矩阵\n");
	for(i=0;i<2;i++)
	 	for(j=0;j<3;j++)
	 		scanf("%d",&a[i][j]);
	for(i=0;i<3;i++)
	{
		for(j=0;j<2;j++)
		{
			printf("%d ",a[j][i]);	
		}
			printf("\n");
	} 
	return 0;
}

14.结构

#include <stdio.h>
#include<string.h>
#include<math.h>
struct s
{
    char x[20];
    char n[20];
    double c1;
    double c2;
    double c3;
    double t;
};
int main()
{
	int i,h;
	struct s temp;
    struct s q;
    struct s a[5];
    for(i=0;i<5;i++)
    {
        scanf("%s",&a[i].x);
        scanf("%s",&a[i].n);
        scanf("%f",&a[i].c1);
        scanf("%f",&a[i].c2);
        scanf("%f",&a[i].c3);
        a[i].t=a[i].c1+a[i].c2+a[i].c3;
    }
    printf("%.1f",a[i].t);
    for(i=0;i<4;i++)
    {
        for(h=0;h<4-i;h++)
        {
            if(a[h].t<a[h+1].t)
            {
                temp=a[h];
				a[h]=a[h+1];
				a[h+1]=temp;
            }
        }
    }
    for(i=0;i<5;i++)
    {
        for(h=0;h<5;h++)
        {
            if(a[i].t==a[h].t&&strcmp(a[i].x,a[h].x)<0)
            {
                temp=a[i];
				a[i]=a[h];
				a[h]=temp;
            }
        }
    }
    for(i=0;i<5;i++)
    {
        printf("%s\t",a[i].x);
        printf("%s\t",a[i].n);
        printf("%.1f\t",a[i].c1);
        printf("%.1f\t",a[i].c2);
    	printf("%.1f\t",a[i].c3);
        printf("%.1f\n",a[i].t);
    }
    return 0;
}

15.回文字符

#include <stdio.h>
int main()
{
	char a[100];
	int i=0,j=0,tag=0;
	printf("输入一段字符:");
	while((a[i]=getchar())!='\n'){
		i++;	
	}
	for(;j<i/2;i--,j++)
		if(a[i-1]!=a[j])
		{
			tag=1;
			break;
		}
	if(tag)
		printf("不是回文");
	else
		printf("是回文"); 
	return 0;
} 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值