1.20 学习报告

// 7_array.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include<stdio.h>
#include<iostream>
using namespace std ;

/************函数的声部分**************/
void screen_prime();
void select_sort(int a[]);
int sum_diagonal();
void insert_array(int x , int a[]);
void reverse_array(int a[] , int n);
int _tmain(int argc, _TCHAR* argv[])
{
	screen_prime();
	int a[10] = {2,5,7,1,4,9,6,12,10,8};
	select_sort(a);
	for(int i = 0 ; i < 10 ; i++)
		cout<<a[i] << "  " ;
	cout<<endl;

	cout<<sum_diagonal()<<endl;

	int b[5] = {8,6,5,4,1};
	int n = sizeof(b)/4 ;
	reverse_array(b , n);
	for(int i = 0 ; i < 5 ; i++)
		cout<<b[i] << "  " ;
	cout<<endl;
	getchar();
	getchar();
	return 0;
}
/************7.1用筛选法求素数begin**************/
void screen_prime()
{
	int i , j ;
	int a[100] ;
	for(i = 0 ; i < 99 ; i++)
		a[i] = i + 2 ;
	
	cout<<endl;
}
/************7.1用筛选法求素数end**************/

/************7.2用选择法求素数begin**************/
void select_sort(int a[])
{
	int i , j ,temp , k = 0;
	for(i = 1 ; i < 10 ; i++)
	{
		k = i ;
		for(j = i-1 ; j >= 0 ; j--)
		{			
			if(a[i] < a[j])
			{				
				temp = a[i];
				a[i] = a[j] ;
				a[j] = temp ;
				i = j ;
			}
			else
				break;
		}
		i = k ;
	}
}
/************7.2用选择法求素数end**************/
/************7.3求3*3整型矩阵对角线之和begin**************/
int sum_diagonal()
{
	int a[3][3] = {1,2,3,4,5,6,7,8,9};
	int sum = 0 ;
	int i , j ;
/*	for(i = 0 ; i < 3 ;i++)
		for(j = 0 ; j < 3 ; j++)
			scanf_s("%d",&a[i][j]);
*/
	for(i = 0 ; i < 3 ; i++)
		for(j = 0 ; j < 3 ; j++)
		{
			if(i == j)
				sum += a[i][j];
		}
	return sum;
}
/************7.3求3*3整型矩阵对角线之和end**************/
/************7.4在已排好序的数组中插入一个数begin**************/
/*
   几点疑问:1)数组空间动态开辟问题
            2)查找对比数据
			3)其余数据的移动
*/
void insert_array(int x , int a[])
{

}
/************7.4在已排好序的数组中插入一个数end**************/
/************7.5数组中的值逆序存放begin**************/
void reverse_array(int a[] , int n)
{
	int i = 0 ; 
	int j = n - 1 ;
	int temp ;
	while(i < j)
	{
		temp = a[i];
		a[i] = a[j];
		a[j] = temp ;
		i++ ;
		j--;
	}
}
/************7.5数组中的值逆序存放begin**************/



// 3_4_itoa.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include<stdio.h>
#include<iostream>
using namespace std ;
#define MAXLINE 100 

void itoa(int n , char s[]);
void reverse(char s[]);
int _tmain(int argc, _TCHAR* argv[])
{
	char s[MAXLINE];
	itoa(123 , s) ;
	cout<<s <<endl;
	getchar();
	return 0;
}
//求出来的数字是倒着存储在数组中的,应该是可以使用递归的方法进行改进的
void itoa(int n , char s[])
{
	int i = 0 ;
	int sign = 0;
	//处理负数的情况,将负数转化成正数情况
	if(n < 0)
	{
		sign = -1  ;
		n = -n ;
	}
	do{
		s[i++] = n % 10 + '0' ;
	}while((n/=10) > 0);
/*	while( (n/10) >= 0  )
	{
		s[i++] = n % 10 + '0' ;
		n = n /10 ;
	}	*/
	if(sign < 0 )
		s[i++] = '-' ;
	s[i] = '\0';
	reverse(s);
}
void reverse(char s[])
{
	int i , j ,temp ;
	for(i = 0 , j = strlen(s)-1 ; i < j ; i++ , j--)
	{
		temp = s[i];
		s[i] = s[j];
		s[j] = temp ;
	}
}



// 4_13_reverse.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include<iostream>
using namespace std ;
#define MAXLEN  100 
/***********将字符串s倒置***************/
void reverse(char s[]);


int _tmain(int argc, _TCHAR* argv[])
{
	char s[] = {"abcdefg"};
	reverse(s);

	cout<<s << endl;

	getchar();
	return 0;
}

void reverse(char s[])
{
	void reverser(char s[] , int i , int len);
	reverser(s , 0 , strlen(s)-1);

}
void reverser(char s[] , int i , int len)
{
	int temp ;
	//j = len - (i+1);
	if(i < len )
	{
		temp = s[i] ;
		s[i] = s[len];
		s[len] = temp ;
		reverser(s , ++i , --len);
	}
	
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值