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;
}


發佈了47 篇原創文章 · 獲贊 29 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章