C++编程练习——2014/3/14

对应36-40

相对简单,但是写的很急,以后要多复习。36,39,40;是看了答案的,但是39,40;已经能搞定基本骨架了,以后多写应该问题不大了。不过还是要找题目练啊,也不知道现在的战略对不对,不过已经无法回头了,回头再看c吧,唉现在感觉要学的太多,以后有空要好好想想做适当的精简,好好规划未来吧,蒋红阳的话很有道理,以后我们都要就业,而且我还有一个很不可能的任务,好吧我会努力的,亲爱的!

1.

#include<iostream.h>
void convert(long s,long *str)
{
	long s1=10;
	*str=s%10;
	while(s>0)
	{
		s=s/100;
		*str+=s%10*s1;
		s1*=10;
	}
	
	


}
void main()
{
	long s,res;
	cout<<"Please enter s:"<<endl;
	cin>>s;
	convert(s,&res);
	cout<<"The result is:"<<res<<endl;
	return;

}

2.

#include<iostream.h>
int func(int year,int month,int day)
{
	int days=0;
	days+=day;
	if(((year%100!=0&&year%4==0)||year%400==0)&&month>=3)
		days+=1;
	while(month-->0)
	{
		switch(month)
		{
		    case 1:days+=31;break;
			case 2:days+=28;break;
			case 3:days+=31;break;
			case 4:days+=30;break;
			case 5:days+=31;break;
			case 6:days+=30;break;
			case 7:days+=31;break;
			case 8:days+=31;break;
			case 9:days+=30;break;
			case 10:days+=31;break;
			case 11:days+=30;break;
			case 12:days+=31;break;
		}
	}
	return days;


}
void main()
{
	cout<<func(2007,2,1)<<endl;
	cout<<func(2007,10,10)<<endl;
	cout<<func(2008,8,12)<<endl;
	return;
}

3.

#include<iostream.h>
void show()
{
	for(int i=9;i>0;i--)
	{	
		for(int j=1;j<=i;j++ )
		{
			cout<<j<<"*"<<i<<"="<<i*j<<' ';
		}
		cout<<endl;
	}

}
void main()
{
	cout<<"9*9倒乘法口诀"<<endl;
	cout<<"---------------------------------"<<endl;
	show();
	cout<<"---------------------------------"<<endl;
	return;		
}

4.

#include <iostream.h>
#define MAXLEN 1024
void convert(char* des,char* str)
{
	int test,j,i;
	des[0]=0;
	for(i=0;str[i]!=0;i++)
	{
		for(j=0;des[j]!=0;j++)
		{
			if(str[i]==des[j])
			{
				test=0;
				break;//array already contain the element,break in time;
			}
			else
				test=1;
  
		}
		if(test)
		{
		    des[j]=str[i];
		    des[j+1]=0;
		}
		
	}

}
void main()
{
	char sour[MAXLEN];
	char dest[MAXLEN];
	cout<<"Please input a string:"<<endl;
	cin.getline(sour,MAXLEN);
	convert(dest,sour);
	cout<<dest<<endl;
	return;//misad
}

5.

#include <iostream.h>
#define MAXNLEN 100
void factor(int *des,int& length,int n)
{
	length=0;
	for(int i=1;i<=n;i++)
	{
		if(n%i==0)
		{
			des[length]=i;
			length++;
			
		}
	}


}
void main()
{
	int a[MAXNLEN],length;
	int n=20;
	factor(a,length,n);
	for(int i=0;i<length;i++)
	{
		cout<<a[i]<<" ";
	}
	cout<<endl;
	return;
}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值