c语言练习题合集2

//有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。 
#include<stdio.h>
int main(){
	int a[3][4],i,j,max,temp;
	printf("请输入一个3*4的数组\n");
	for(i=0;i<3;i++){
		for(j=0;j<4;j++){
			scanf("%d",&a[i][j]);     //输入数组 
			
		}
	}
	 max=a[0][0];
	 for(i=0;i<3;i++){
	 	for(j=0;j<4;j++){
	 	if(a[i][j]>max)	{
	 		temp=max;
	 		max=a[i][j];
	 		a[i][j]=temp;
		 }
		 }
	 }
	 printf("最大的元素是%d,在%d行,在%d列",max,i,j);
}
//输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。
#include<stdio.h>
#include<string.h>
int main(){
	char  string[100];
	int kg,i;
	gets(string);     //从键盘获取字符串 
	for( i=0;i<strlen(string)+1;i++){          
		if(string[i]==' '){          //统计空格个数,单词字数等于空格数加1 
			kg++;
		}
	}
	printf("共有%d个单词",kg+1);
	return 0;
}
/*有5个人坐在一起,
问第5个人多少岁?他说比第4个人大2岁。
问第4个人岁数,他说比第3个人大2岁。问第3个人,
又说比第2个人大2岁。
问第2个人,说比第1个人大2岁。最后问第
1个人,他说是10岁。请问第5个人多大*/

#include<stdio.h>

	int fun(int n){
		int age;
		if(n==1){
			age=10;
		}
		else 
		age=fun(n-1)+2;
		return  age;
	}
int main(){	
    
    
   printf("%d",fun(5));

} 
//用递归方法求n!
#include<stdio.h>
int jc(int n){
	int cj;
	if(n<0)
		printf("n<0,data error!");
	else if(n==0||n==1)
		cj=1;
	else
		cj=jc(n-1)*n;
}
int main(){
	printf("%d",jc(5));
	return 0;
}
/*用选择法对数组中10个整数按由小到大排序。
所谓选择法就是先将10个数中最小的数与a[0]
对换;再将a[1]到a[9]中最小的数与a[1]对换……每比较一轮,
找出一个未经排序的数中最小的一个。共比较9轮。*/
#include<stdio.h>
int sort(int a[],int n){
	int i,min,temp;
	for(i=0;i<n-1;i++){
		min=a[i];
		for(int j=i+1;j<n;j++){
			if(a[j]<min){
			temp=a[i];
			a[i]=a[j];
			a[j]=temp;    //交换就可不用输出a[i] ;
			
			}
				
		}
	}
}
int main(){
	int b[10],n; 
	printf("请输入数组中元素的个数n\n");
	scanf("%d",&n);
	printf("请输入数组中待排序的元素\n");
	for(int i=0;i<n;i++){
		scanf("%d",&b[i]);
	}
	sort(b,n);        //错误原因:引用错误 
	printf("排序后的顺序为\n");
	for(int i=0;i<n;i++){
		printf("%d",b[i]);
	}
	return 0 ;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值