编号11-20

11.将两个两位数的正整数a,b合并形成一个整数放在c中,合并的方式如:当a=45,b=12时,调用该函数后,c=4152

void  undergraduate_11(){
 
 
	int temp[4],tempc = 0,a,b;
	scanf("%d %d",&a,&b);
	temp[0] = b%10;
	temp[1] = a%10;
	temp[2] = (b-temp[0]) / 10;
	temp[3] = (a-temp[1]) / 10;
	for(int i=0;i<4;i++)
	{
		
		for(int j=0;j<i;j++)
		{
			temp[i] *= 10;
		}
		tempc +=temp[i]  ;
	}
	printf("%d",tempc);
	 
}

12.初试矩阵加上转置矩阵

 
void  undergraduate_12(){
 
 

	int a[3][3]={ 1,1,1,2,2,2,3,3,3};	 
	int b[3][3],c[3][3];

	printf("初始矩阵为:\n");
	for(int i=0;i<3;i++)
	{
		for(int j=0;j<3;j++)
		{
			printf("%4d",a[i][j]);
			b[j][i] = a[i][j];
		}
		printf("\n");
	}
	printf("转置矩阵为:\n");
	for(i=0;i<3;i++)
	{
		for(int j=0;j<3;j++)
		{
			printf("%4d",b[i][j]);
			c[i][j] = a[i][j] + b[i][j];
		}
		printf("\n");
	}
	printf("\n\n初始 + 转置 矩阵为:\n");
	for(i=0;i<3;i++)
	{
		for(int j=0;j<3;j++)
		{
			printf("%4d",c[i][j]);
			 
		}
		printf("\n");
	}
}

13.从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。高位仍在高位,低位仍在低位。如当s中的数为:7654321时,t中的数为7531

void  undergraduate_13(){
 
	long s,t=0,temp=0;
	int yushu,mod=1,j=0;
	scanf("%d",&s);
	
	for(int i=0;;i++)
	{
		yushu = ((s-temp)/mod)%10;
		if(yushu == 0) break;
		temp += yushu * mod;		 
		mod *=10;
		if(i%2 == 0)
		{
			 
			for(int k=0;k<i/2;k++)
			{
				yushu *= 10;
			}
			t += yushu;
		}

	}

	printf("%d",t);
}

14.冒泡法选择法

15.将长整型数中每一位上为偶数的数依次取出,构成一个新数放在t中,高位仍在高位,低位仍在低位。如当s中的数为87653142时,t中的数为8642

void  undergraduate_15(){
 
	long s,t=0,temp=0;
	int yushu,mod=1,j=0;
	scanf("%d",&s);
	
	for(int i=0;;i++)
	{
		yushu = ((s-temp)/mod)%10;
		if(yushu == 0) break;
		temp += yushu * mod;		 
		mod *=10;
		if(yushu%2 == 0)
		{
			j++; 
			for(int k=0;k<j-1;k++)
			{
				yushu *= 10;
			}
			t += yushu;
		}		
	}

	printf("%d",t);
}

16.计算正整数num各位数字之积

void  undergraduate_16(){ 
	long temp = 123456789;
	int yushu = 0,mod = 1,sum=0,ji=1;
	while((yushu=((temp-sum)/mod)%10) !=0)//求余数, 全部按照各位来处理。
	{
		sum += yushu * mod;
		ji *= yushu;
		mod *= 10;

	}
	printf("%d",ji);
 
}

17.当字符串中的内容为:“abcdabfabcdx”,t中的内容为:“ab”时,输出结果应是:abcdx

当字符串中的内容为:“abcdabfabcdx”,t中的内容为:“abd”时,则程序输出:not befound!

void  fun(char *str,char *t1){
 	 
	int j=0,k;
	 
	for(int i=strlen(str)-1;i>=0;i--)
	{
		if(str[i]==t1[strlen(t1)-1-j])
		{
			j++;
			if(j == strlen(t1)) break;
			continue;
			 
		}
		j = 0;
	}
	if(j==0) printf("not be found");
	else puts((str+i));
}
      

18.当s所指字符串的内容为:“abcdabfab”,t1所指子串中的内容为:“ab”,t2所指子串的内容为:“99”时,结果在w所指的数组中的内容应为:“99cd99f99”

void  fun(char *str,char *t1,char *t2){
 	 
	int len=strlen(t1);
	int  j=0;

	for(int i=strlen(str)-1;i>=0;i--)
	{
		if(str[i] == t1[len-1-j])
		{
			j++;
			if(j == len)//如果已经匹配了的话,那就替换
			{
				j=0;
				for(int k=0;k<len;k++)
				{
					str[i+k] = t2[j++];
				}
			}
			continue;
		}
		j=0;
	}
	puts(str);
	
}

19       求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。ss所指字符串数组中共有M个字符串,且串长<N

#define M 5
#define N 20

int  fun(char (*ss)[N],int *n){
 	 
 
	int length[M],min_no;
	*n = N;
	for(int i=0;i<M;i++)
	{
		gets(ss[i]);
		length[i] = strlen(ss[i]);
		if(length[i] < *n) 
		{
			*n = length[i];
			min_no = i;		
		} 
	}
	return min_no; 
}

20.在字符串中的每个数字字符后都加一个*号

20.在字符串中的每个数字字符后都加一个*号
void  fun(char *s,int len){
 	 
	char temp;
	int no=0,j=1;
	for(int i=0;i<len;i++){
		if(s[i] > '0' - 1 && s[i] < '9' + 1 )
		{
			no ++;	
		}
	}  //no是数字的个数

	no = len + no;//最后数组的长度。
	s[no] = '\0';
	 
	for(i=no-1;i>=0;i--){
		if(s[len-j] >'0'-1 && s[len-j] < '9' + 1 ){//如果是数字字符			
			s[i--] = '*';			 			 			
		}
		s[i] = s[len-j];		 
		j++;
	}
 
	puts(s);
 
}











  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值