C语言实例50题

目录

例题1、两个整数相加

例题2、两个浮点数相乘

例题3、字符转ASCII码

例题4、两数相除

例题5、数值比较

例题6、计算int,float,double和char字节大小

例题7、交换两个数的值

例题8、判断奇数/偶数

例题9、循环区间范围内的奇数/偶数

例题10、判断元音/辅音

例题11、判断三个数 中的最大数     三位运算符

例题12、一元二次方程

例题13、判断闰年

例题14、判断正数/负数/零

例题15、判断字母

例题16、计算自然数的和

例题17、输出九九乘法表

例题18、斐波那契数列

例题19、求两数的最大公约数

例题20、求两数的最小公倍数

例题21、阶乘

例题22、循环输出26个字母

例题23、判断数字为几位数

例题24、计算一个数的n次方

例题25、判断回文数

例题26、判断素数

例题27、判断阿姆斯壮数 

例题28、求一个整数的所有因数

例题29、创建各类三角形图案

例题30、表格形式输出数据

例题31、实现(加减乘除)简单计算器

例题32、计算一个数是否可为两个素数之和

例题33、二进制与十进制相互转换

例题34、八进制与十进制相互转换

例题35、八进制与二进制相互转换

例题36、字符串翻转

例题37、计算数组元素平均值

例题38、输出数组

例题39、计算数组元素之和

例题40、查找数组中最大的元素值

例题41、数组拆分与合并

例题42、数组拷贝

例题43、计算标准偏差

例题44、二维数组相加

例题45、矩阵转换

例题46、使用指针访问数组元素

例题47、使用循环替换数值

例题48、判断最大值

例题49、删除字符串

例题50、使用strcat()连接两个字符串


例题1、两个整数相加

#include <stdio.h>

int main(){
	int n1,n2,sum;

	scanf("%d %d",&n1,&n2);
	sum = n1 + n2;

	printf("%d",sum);
	return 0;
} 

例题2、两个浮点数相乘

#include <stdio.h>

int main(){
	float n1,n2;

	scanf("%f%f",&n1,&n2); //输入的是浮点数 %f  
	float sum = n1 * n2;
	printf("%.2f",sum);
	
	return 0;
} 

例题3、字符转ASCII码

#include <stdio.h>

int main(){
	char n = 'a';

	printf("a的ASCII码为%d",n);
	return 0;
} 

例题4、两数相除

#include <stdio.h>

int main(){
	int n1,n2;
	scanf("%d %d",&n1,&n2);

	int avg = n1 / n2;
	int remainder = n1 % n2;
	printf("n1和n2的商为%d\n",avg);
	printf("n1和n2的除数为%d\n",remainder);

	return 0;
} 

例题5、数值比较

#include <stdio.h>

int main(){
	int a,b;
	printf("请输入ab的值");

	scanf("%d%d",&a,&b);
	if(a > b){
		printf("a大于b");
	}else
		printf("a小于等于b");

    return 0;
}

例题6、计算int,float,double和char字节大小

#include <stdio.h>

int main(){
	printf("int类型字节大小为%d\n",sizeof(int));
	printf("float类型字节大小为%d\n",sizeof(float));
	printf("double类型字节大小为%d\n",sizeof(double));
	printf("char类型字节大小为%d\n",sizeof(char));

	return 0;
} 

sizeof函数计算的是字节大小。

例题7、交换两个数的值

#include <stdio.h>

int main(){
	int a,b;
	scanf("%d%d",&a,&b);
	printf("a和b的值为%d,%d\n",a,b);

	int temp = a;
	a = b;
	b = temp;
	printf("交换后的值为%d,%d",a,b);
	return 0;
} 

例题8、判断奇数/偶数

#include <stdio.h>

int main(){
	int n;
	printf("请输入n的值:");
	scanf("%d",&n);

	if(n % 2){
		printf("%d是奇数",n);
	}else{
		printf("%d是偶数",n);
	}

	return 0;
} 

例题9、循环区间范围内的奇数/偶数

int arr1[100];
int arr2[100];

#include <stdio.h>
int main(){
	printf("请输入一个区间");
	int a,b;

	scanf("%d%d",&a,&b);
	int flag1 = 0;//奇数 
	int flag2 = 0;//偶数 

	for(int i = a;i <= b; i++){
		if(i % 2){
			arr1[flag1] = i;
			flag1++;
		}else{
			arr2[flag2] = i;
			flag2++;
		}
	}

	printf("区间范围内的奇数有:");
	for(int i = flag1-1; i >= 0; i--){
		printf("%d ",arr1[i]);
	}

	printf("区间范围内的偶数有:");
	for(int i = flag2-1; i >= 0; i--){
		printf("%d ",arr2[i]);
	}
	return 0;
} 

例题10、判断元音/辅音

#include <stdio.h>

int main(){
	char c;
	scanf("%c",&c);

	int islowercase = (c == 'a'||c == 'v'||c == 'i'||c == 'o'||c == 'u');
	int isuppercase = (c == 'A'||c == 'V'||c == 'I'||c == 'O'||c == 'U');

	if(islowercase || isuppercase){
		printf("%c是元音",c);
	}else{
		printf("%c是辅音",c);
	}
	return 0;
} 

例题11、判断三个数 中的最大数     三位运算符

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

	int a,b,c;
	printf("请输入a,b,c的值:");
	scanf("%d%d%d",&a,&b,&c);

	int max = a > b ? (a > c? a : c ):(b > c? b : c);
	printf("最大值为%d",max);
	return 0;
} 

例题12、一元二次方程

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

int main(){
	float a,b,c,x1,x2,d;
	printf("输入方程的三个系数:");
	scanf("%f %f %f",&a,&b,&c);

	if(a != 0){
		d = sqrt( b*b - 4*a*c);//sqrt函数在math.h的头文件里面 
		x1 = (-b + d) / (2 * a);
		x2 = (-b -d) / (2 * a);

		if(x1 < x2)
			printf("%0.2f %0.2f\n",x2,x1);
		else
			printf("%0.2f %0.2f\n",x1,x2);
	}
	
	return 0;
} 

例题13、判断闰年

int main(){

	int year;
	scanf("%d",&year);

	if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0){	 
		printf("%d是闰年",year);
	}else{
		printf("%d不是闰年",year);
	}
	return 0;
} 

例题14、判断正数/负数/零

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

	int n;
	printf("请输入n的值:");
	scanf("%d",&n);

	if(n > 0){
		printf("%d是正数",n);
	}else if(n == 0){
		printf("%d是零",n);
	}else{
		printf("%d是负数",n);
	}

	return 0;
}

例题15、判断字母

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

	char c;
	printf("请输入一个字符:");
	scanf("%c",&c);
	if((c >= 'a'&& c <= 'z')||(c >= 'A')&&(c <= 'Z')){
		printf("%c是字母",c); 
	}else{
		printf("%c不是字母",c);
	}

	return 0;
}

例题16、计算自然数的和

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

	int n;
	printf("请输入一个自然数:");
	scanf("%d",&n);
	int avg = n;
	int count = 0;

	while(n >= 0){
		count += n;
		n--;
	}
	printf("%d的前n项和为%d",avg,count);
	return 0;
} 

例题17、输出九九乘法表

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

	for(int i = 1;i <= 9;i++){
		for(int j = 1;j <= i;j++){
			printf("%d x %d = %d ",j,i,i*j);
		}
		printf("\n");
	}
	return 0;
} 

例题18、斐波那契数列

#include <stdio.h>
int fi(int n); 
int main(){
	int n;
	printf("求斐波那契数列的前n项");
	scanf("%d",&n);
	fi(n);
	return 0;
} 
int fi(int n){
	int t1 = 0,t2 = 1;
	int count = 0;
	for(int i = 1; i <= n; i++){
		printf("%d ",t1);
		count = t1 + t2;
		t1 = t2;
		t2 = count;
	}
}

例题19、求两数的最大公约数

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

	int n1,n2,i,gcd;
	printf("请输入两个数:");
	scanf("%d%d",&n1,&n2);
	for(i = 1; i <= n1 && i <= n2; ++i){
		if(n1 % i == 0 && n2 % i == 0)
			gcd = i;
	}
	
	printf("%d 和 %d 的最大公约数是 %d",n1,n2,gcd);

	return 0;
} 

例题20、求两数的最小公倍数

#include <stdio.h>
int main(){
	int n1, n2, i, gcd, lcm;
 
    printf("输入两个正整数: ");
    scanf("%d %d",&n1,&n2);
 
    for(i = 1; i <= n1&& i <= n2; ++i)
    {
        // 判断最大公约数
        if(n1 % i == 0 && n2 % i == 0)
            gcd = i;
    }
 
    lcm = (n1 * n2)/ gcd;
    printf("%d 和 %d 的最小公倍数为 %d", n1, n2, lcm);
 
    return 0;
}

最小公倍数 = 两数之积 / 最大公约数

例题21、阶乘

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

	int n;
	scanf("%d",&n);
	int avg = 1;
	int sag = n;

	while(n >= 1){
		avg *= n;
		n--;
	}
	printf("%d的阶层是%d",sag,avg);
	return 0;
} 

例题22、循环输出26个字母

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

	for(char i = 'a';i <= 'z';i++){
		printf("%c ",i);
	}
	printf("\n");
	for(char i = 'A';i <= 'Z'; i++){
		printf("%c ",i);
	}
	return 0;
} 

例题23、判断数字为几位数

#include <stdio.h>
int main(){
	int n;
	printf("请输入一个数:");
	scanf("%d",&n);
	int m = n;
	int flag;
	while(n){
		n /= 10;
		flag++;
	}
	printf("%d是%d位数",m,flag);
	return 0;
}

例题24、计算一个数的n次方

#include <stdio.h>
int main(){
	int n,m;
	printf("请输入一个数,以及n次方的大小:");
	scanf("%d%d",&m,&n);
	int avg = 1;
	while(n > 0){
		avg *= m;
		n--;
	}
	printf("%d的n次方是%d",m,avg);
	return 0;
} 

例题25、判断回文数

#include <stdio.h>
int arr1[100];
int arr2[100];
int main(){

	int n,remainder,integer,origininteger;
	printf("请输入一个数");
	scanf("%d",&n);
	origininteger = n;
	while(n != 0){
		remainder = n % 10;
		integer = integer * 10 + remainder;
		n /= 10;
	}

	if(origininteger == integer)
		printf("%d是回文数",origininteger);
	else
		printf("%d不是回文数",origininteger);
	return 0;
} 

把数翻转过来与原数进行比较,相同就是回文数

例题26、判断素数

#include <stdio.h>
int main(){
	int n;
	
	scanf(" %d",&n);
	
	for(int i = 2; i < n; i++){
		if(n % i == 0){
			printf("%d不是素数",n);
			return 0;
		}
	}
	printf("%d是素数",n);
	
	return 0;
}

素数也就是质数,除了1和它本身没有可以整除的数,直接从2到n-1进行判断

例题27、判断阿姆斯壮数 

#include <stdio.h>
int main(){
	int n,g,s,b;
	printf("请输入一个三位数:");
	scanf("%d",&n);
	int avg = n;
	g = n % 10;
	s = n / 10 % 10;
	b = n / 100;

	printf("%d %d %d\n",g,s,b);
	if(n == g*g*g + s*s + b){
		printf("%d是阿姆斯壮数",avg); 
	}else{
		printf("%d不是阿姆斯壮数",avg);
	}
	return 0;
}

这个东西就跟水仙花数一个道理

例题28、求一个整数的所有因数

#include <stdio.h>
int main(){
	int n;
	printf("请输入一个整数:");
	scanf("%d",&n);
	printf("它的因数有");
	for(int i = 1; i <= n; i++){
		if(n % i == 0){
			printf("%d ",i);
		}
	}
	return 0;
} 

例题29、创建各类三角形图案

#include <stdio.h>
int main(){
	//等腰直角三角形 
//	正 
	for(int i = 1; i <= 5; i++){	
		for(int j = 1;j <= i; j++){	
			printf("*");
		}
		printf("\n");
	}
	return 0;
}

运行效果:

 

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

for(int i = 1;i <= 5; i++){
		for(int j = 5-i;j >= 1; j--){
			printf(" ");
		}
		for(int k = 1;k <= i; k++){
			printf("*");
		}
		printf("\n");
	}
	return 0;
}

运行效果:

#include <stdio.h>
int main(){
	//倒三角形
for(int i = 1;i <= 5; i++){
		for(int j = 5;j >= i; j--){
			printf("*"); 
		}
		printf("\n");
	}
	return 0;
} 

运行效果:

 

 

#include <stdio.h>
int main(){
    //倒三角形
	for(int i = 0;i <= 5; i++){
		for(int j = 0;j < i; j++){
			printf(" ");
		}
		for(int k = 5-i;k >= 1; k--){
			printf("*");
		}
		printf("\n");
		
	}
	return 0;
} 

运行效果:

 

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

//	金字塔
	for(int i = 1;i <= 5; i++){
		for(int j = 1;j <= 5-i; j++){
			printf(" ");
		}
		for(int k = 1;k <= i*2-1; k++){
			printf("*");
		}
		printf("\n");
	} 
	return 0;
} 

运行效果:

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

//	倒金字塔
	for(int i = 1;i <= 5; i++){
		for(int j = 1;j < i; j++){
			printf(" "); 
		}
		for(int k = 2*(5-i)+1;k >= 1; k--){
			printf("*");
		}
		printf("\n");
		
	} 
	return 0;
} 

运行效果:

 

例题30、表格形式输出数据

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

例题31、实现(加减乘除)简单计算器

#include <stdio.h>
void add(double x,double y);
void sub(double x,double y);
void mul(double x,double y);
void div(double x,double y);
int main(){
	char operator1;
	double firstnum,secondnum;
	printf("请输入操作符(+,-,*,/):");
	scanf("%c",&operator1);
	printf("输入两个数字:");
	scanf("%lf %lf",&firstnum,&secondnum);
	if(operator1 == '+'){
		add(firstnum,secondnum);
	}else if(operator1 == '-'){
		sub(firstnum,secondnum);
	}else if(operator1 == '*'){
		mul(firstnum,secondnum);
	}else if(operator1 == '/'){
		div(firstnum,secondnum);
	}
	return 0;
} 
void add(double x,double y){
	printf("%.1lf",x + y);
}
void sub(double x,double y){
	printf("%.1lf",x - y);
}
void mul(double x,double y){
	printf("%.1lf",x * y);
}
void div(double x,double y){
	if(y == 0){
		printf("0");
	}else{
		printf("%.1lf",x / y);
	}
}

例题32、计算一个数是否可为两个素数之和

#include <stdio.h>
int main(){
	int n;
	scanf("%d",&n);
	if(n%2 == 0){
		printf("%d可以为两个素数之和",n);
	}else{
		printf("%d不能为两个素数之和",n);
	} 
	return 0;
} 

例题33、二进制与十进制相互转换

#include <stdio.h>
#include <math.h> //使用了math里面的pow函数 
int arr[100]; 
int main(){
	long long n,m;
	printf("请输入二进制数:");
	scanf("%lld",&n);
	int i = 0;
	int res = 0;
	int avg = n;
	while(n != 0){
		arr[i++] = n%10;	//依次取出个位、十位、... 
		n /= 10;		
	}
//	for(int j = i-1;j >= 0; j--){	//存入的时候是正向存入数组
//		if(arr[j] == 1){
//			res += pow(2,j);
//		}
//	}
	for(int j = 0;j < i; j++){	//存入的时候是正向存入数组
		if(arr[j] == 1){
			res += pow(2,j);
		}
	}
	printf("%d的十进制数为%d",avg,res);
	
	return 0;
} 

法二

#include <stdio.h>
#include <math.h>
int convert(long long n);
int main(){
	long long n;
	printf("输入一个二进制数:");
	scanf("%lld",&n);
	printf("二进制数%lld的十进制数为%d",n,convert(n));
	return 0;
} 
int convert(long long n){
	int avg,i = 0,res = 0;
	while(n !=0 ){
		avg = n%10;
		n /= 10;
		res += avg*pow(2,i++);
	}
	return res;
}

十进制转二进制:

#include <stdio.h>
#include <math.h>
long long converts(int n);
int main(){
	int n;
	printf("请输入一个十进制数:");
	scanf("%d",&n);
	printf("%d的二进制数为%lld",n,converts(n));
	return 0;
} 
long long converts(int n){
	long long res = 0;
	int avg,i = 1;
	while(n != 0){
		avg = n % 2;
		n /= 2;
		res += avg*i; 
		i *= 10;
	}
	return res;
}

例题34、八进制与十进制相互转换

#include <stdio.h>
#include <math.h>
int convert( long long n);
int main(){
	long long n;
	printf("请输入一个八进制数:");
	scanf("%lld",&n);
	printf("%lld的十进制数为%d",n,convert(n));
	return 0;
}
int convert( long long n){
	int res,i=0;
	while( n != 0){
		res += (n%10) * pow(8,i++);
		n /= 10;
	}
	return res;
}

十进制转八进制

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

long long converts(int n);
int main(){
	int n;
	printf("请输入一个十进制数:");
	scanf("%d",&n);
	printf("%d的八进制数为%lld",n,converts(n));
	return 0;
}

long long converts(int n){
	long long res=0;
	int i=1,avg=0;
	while(n != 0){
		avg = n%8;
		res += avg * i;
		n /= 8;
		i *= 10;
	}				
	return res;
	
}

例题35、八进制与二进制相互转换

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

long long convert(int n);
int main(){
	
	int n;
	printf("请输入一个八进制数");
	scanf("%d",&n);
	printf("%d的二进制数为%lld",n,convert(n));
	
	return 0;
} 

long long convert(int n){
	long long res = 0;
	int avg,i = 0;
	while(n != 0){
		avg += (n%10) * pow(8,i++);
		n /= 10;
	}
	i = 1;
	while(avg !=0 ){
		res += (avg%2) * i;
		avg /= 2;
		i *= 10; 		
	}
		
	return res;	
}

二进制转八进制

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

int converts(long long n);
int main(){
	
	int n;
	printf("请输入一个二进制数");
	scanf("%d",&n);
	printf("%lld的八进制数为%d",n,converts(n));
	
	return 0;
} 
int converts(long long n){
	int res=0,avg=0,i=0;
	while(n != 0){
		avg += (n%10) * pow(2,i++);
		n /= 10;
	}
	i = 1;
	while(avg != 0){
		res += (avg%8)*i;
		avg /= 10;
		i *= 10;
	}
	return res;
	
}

例题36、字符串翻转

#include <stdio.h>
void reverseSentence();
 
int main()
{
    printf("输入一个字符串: ");
    reverseSentence();
 
    return 0;
}
 
void reverseSentence()
{
    char c;
    scanf("%c", &c);
 
    if( c != '\n')
    {
        reverseSentence();
        printf("%c",c);
    }
}

例题37、计算数组元素平均值

#include <stdio.h>
int arr[100];
int main(){
	int n;
	int sum = 0;
	float avg = 0;
	scanf("%d",&n);
	for(int i = 0;i < n; i++){
		scanf("%d",&arr[i]);
		sum += arr[i];
	}
	avg = (float)sum / n;
	printf("平均值%.2f",avg);
	
	return 0;
}

例题38、输出数组

#include<stdio.h>
const int MAX = 100;
int arr[MAX];
int main(){
	int n;
	scanf("%d",&n);
	for(int i = 0; i < n; i++){
		scanf("%d",&arr[i]);
	}
	for(int i = 0; i < n; i++){
		printf("%d ",arr[i]);
	}
	return 0;
} 

例题39、计算数组元素之和

#include<stdio.h>
const int MAX = 100;
int arr[MAX];
long long sum;
int main(){
	int n;
	scanf("%d",&n);
	for(int i = 0; i < n; i++){
		scanf("%d",&arr[i]);
		sum+=arr[i];
	}
	printf("%d ",sum);
	return 0;
} 

例题40、查找数组中最大的元素值

#include<stdio.h>
const int MAX = 100;
int arr[MAX];
int max;
int main(){
	int n;
	scanf("%d",&n);
	max = arr[0];
	int flag = 0;
	for(int i = 0; i < n; i++){
		scanf("%d",&arr[i]);
		if(arr[i]>max){
			max = arr[i];
			flag = i;
		}
	}
	printf("最大元素值为%d最大元素下标为%d ",max,flag);

	return 0;
} 

例题41、数组拆分与合并

#include <stdio.h>
int main(){
	int arr[10]={0,1,2,3,4,5,6,7,8,9};
	int arr1[10];
	int arr2[10];
	int res = 0,avg = 0;
	for(int i = 0; i < 10; i++){
		if(arr[i] % 2 == 0){
			arr1[res++]=arr[i];
		}else{
			arr2[avg++]=arr[i];
		}
	}
	printf("原始数组:");
	for(int i = 0 ;i < 10; i++){
		printf(" %d ",arr[i]);
	}
	printf("\n偶数数组:");
	for(int i = 0; i < res; i++){
		printf("%d ",arr1[i]);
	}
	printf("\n奇数数组:");
	for(int i = 0; i < avg; i++){
		printf("%d ",arr2[i]);
	}
	
	return 0;
} 

例题42、数组拷贝

#include <stdio.h>
int main(){
	int origin[10]={0,1,2,3,4,5,6,7,8,9};
	int copied[10];
	for(int i = 0; i < 10 ; i++){
		copied[i]=origin[i];
	}
	for(int i = 0; i < 10 ; i++){
		printf("%2d %2d \n",origin[i],copied[i]); 
	}
	return 0;
}

例题43、计算标准偏差

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

float averages(float arr);
int main(){
	float arr[10];
	for(int i = 0; i < 10; i++){
		scanf("%f",&arr[i]);
	}
	printf("%.6f",averages(arr));
	return 0;
} 
float averages(float arr[]){
	float sum=0.0,avg;
	float res = 0.0;
	for(int i = 0; i < 10; i++){
		sum += arr[i];
	}
	avg = sum / 10;
	for(int i = 0; i < 10; i++){
		res += pow(arr[i]-avg,2);
	}
	return sqrt(res/10);
	
}

例题44、二维数组相加

#include <stdio.h>
int main(){
	int arr1[2][2];
	int arr2[2][2];
	int sum[2][2];
	 
	for(int i = 0; i < 2; i++){
		for(int j = 0; j < 2; j++){
			scanf("%d",&arr1[i][j]);
		}
	}
	
	for(int i = 0; i < 2; i++){
		for(int j = 0; j < 2; j++){
			scanf("%d",&arr2[i][j]);
		}
	}
	
	for(int i = 0; i < 2; i++){
		for(int j = 0; j < 2; j++){
			sum[i][j] = arr1[i][j] + arr2[i][j];
		}
	}
	for(int i = 0; i < 2; i++){
		for(int j = 0; j < 2; j++){
			printf("%d\n",sum[i][j]);
		}	
	}
	return 0;
} 

例题45、矩阵转换

#include <stdio.h>
int main()
{
    int a[10][10], transpose[10][10], r, c, i, j;
    printf("输入矩阵的行与列: ");
    scanf("%d %d", &r, &c);
 
   	for(i = 0; i < r; i++){
   		for(j = 0; j < c; j++){
   			scanf("%d",&a[i][j]);
		}
	}
 
 	printf("原数组为:\n");
 	for(int l = 0; l < r; l++){
 		for(int k = 0 ;k < c; k++){
 			printf("%2d",a[l][k]);
 				if(k == c - 1)
 					printf("\n\n");
		}
	}
	
//	转换 
	for(int k = 0; k < r; k++){
		for(int l = 0; l < c; l++){
			transpose[l][k]=a[k][l];
		}
	}
	
	printf("转换后:\n");
	for(int l = 0; l < c; l++){
		for(int k = 0; k < r; k++){
			printf("%2d",transpose[l][k]);
				if(k == r - 1)
 					printf("\n\n");
		}
	}
 	
    return 0;
}

例题46、使用指针访问数组元素

#include <stdio.h>
int main(){
	int arr[10] = {0,1,2,3,4,5,6,7,8,9};
	int *p = &arr[0];
	int i = 0;
	while(i < 10){
		printf("%2d",*(p + i));
		i++;
	}
	
	printf("\n");
	for(int i = 0; i < 10; i++){
		printf("%2d",*(arr + i));
	}
	
	return 0;
} 

例题47、使用循环替换数值

#include <stdio.h>
void swap(int *a,int *b,int *c);
int main(){
	int a,b,c;
	 
	printf("输入a,b和c的值:");
	scanf("%d %d %d",&a,&b,&c);
	
	printf("交换前:\n");
	printf(" a = %d\n b = %d\n c = %d\n",a,b,c);
	swap(&a,&b,&c);
	
	printf("交换后:\n");
	printf(" a = %d\n b = %d\n c = %d\n",a,b,c);
	
	return 0;
} 

void swap(int *a, int *b, int *c){
	
	int temp;
	temp = *b;
	*b = *a;
	*a = *c;
	*c = temp;
}

例题48、判断最大值

#include <stdio.h>
#include <stdlib.h>
int main(){
	int i,num;
	float *data;
	
	printf("输入元素(1~100):");
	scanf("%d",&num);
	
	data = (float*) calloc(num,sizeof(float));
	
	if(data == NULL)
	{
		printf("ERROR!没有分配内存");
		exit(0);
	}
	printf("\n");
	
	for(int i = 0; i < num ; i++){
		printf("输入数字%d:",i+1);
		scanf("%f",data+i);
	}
	
	for(int i = 1; i < num; i++){
		if(*data < *(data+i))
			*data = *(data+i);
	}
	printf("最大元素 = %.2f",*data);
	
	return 0;
} 

例题49、删除字符串

#include <stdio.h>
#include <string.h>
int main(){
	char line[100];
	int len = 0;
	printf("请输入一个字符串:");
	scanf("%s",line);
	char def[100];
	int j = 0;
	
	len = strlen(line);
	for(int i = 0;i < len; i++){
		if((line[i]>'a'&&line[i]<'z')||line[i]>'A'&&line[i]>'Z'){
			def[j++] = line[i];
		}
	} 
	
	len = strlen(def);
	for(int i = 0; i < len; i++){
		printf("%c",def[i]);
	}

	return 0;
}

例题50、使用strcat()连接两个字符串

#include <stdio.h>
#include <string.h>
int main(){
	char s1[100],s2[100];
	
	printf("输入第一个字符串:");
	scanf("%s",s1);
	printf("输入第二个字符串:");
	scanf("%s",s2);
	
	printf("连接后:%s",strcat(s1,s2));	
	return 0;
} 

总结:个人感觉代码还是得多敲多用多想。如果有其他问题,欢迎私信我。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值