中国大学mooc 西安交通大学 计算机程序设计(C++)自拟题解

前四章已提交且较简单,略过第五章//加油超哥!!!//第一题#include <iostream>#include <algorithm>#include <cmath>#include <cstring>using namespace std;void mystrrev(char str[]){ int len; le...
摘要由CSDN通过智能技术生成

前四章已提交且较简单,略过
第五章

//第一题
#include <iostream>
#include <algorithm>
#include <cmath>
#include <cstring>
using namespace std;

void mystrrev(char str[])
{	 
 int len;
 len = strlen(str);
 for(int i=len-1; i>=0; i--)
  cout<<str[i];
}
int main()
{
 char str[100];
 cin.getline(str,100);
 mystrrev(str);
 return 0;
}

//第二题
#include <iostream>
#include <algorithm>
#include <cmath>
#include <string>
#include <cstring>
using namespace std;

int imax(int array[], int count)
{
 int max = array[0];
 for(int i=1;i<count;i++)
 {
  if(array[i]>max)
   max = array[i];
 }
 return max;
}

int imin(int array[], int count)
{
 int min = array[0];
 for(int i=1;i<count;i++)
 {
  if(array[i]<min)
   min = array[i];
 }
 return min;
}
int main()
{
 int n;
 cin>>n;
 int num[100];
 for(int i=0;i<n;i++)
  cin>>num[i];
 cout<<imax(num,n)<<"\n"<<imin(num,n);  
 return 0;
}

//第三题
#include<iostream>
#include <cmath>
#include <algorithm>
#include <string>
#include <cstring>
using namespace std;
int isprime(int a)
{
 int n;
 if(a==1||a==0)
  return 0;
 for(int i=2;i<a;i++)
 {
  if(a%i!=0)
   continue;
  else
   return 0;
 }
 return 1;
}
int main()
{
 int n, i=0;
 int num[100]={0};
 while(cin)
 {
  cin>>n;
  if(n!=0&&isprime(n)==1)
  {
   num[i] = n;
   i++;
  }
  else if(n!=0&&isprime(n)==0)
   continue;
  else
   break;
   
 }
 
 for(int j=0;j<i;j++)
 {
  if(j!=i-1)
   cout<<num[j]<<" ";
  else
   cout<<num[j];
 }
 return 0;
}
//第四题
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
int main()
{
 char str[200];
 cin.getline(str,199);
 int len=strlen(str);
 for(int i=0;i<len;i++)
 {
  if(str[i]>='a'&&str[i]<='z')
  {
   str[i] -= 32;
   cout<<str[i];
  }
  else if(str[i] == ' ')
   cout<<str[i];
  else if(str[i]>='A'&&str[i]<='Z')
   cout<<str[i];
  else
   continue; 
 }
 return 0;
}


//第五题
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int main()
{
 char str[500];
 cin.getline(str,500);
 int num=0;
 int len = strlen(str);
 for(int i=0;i<len;i++)
 {
  if(str[i]==' '&&str[i+1]==' ')
   continue;
  else if(str[i]==' '||str[i]==','||str[i]=='.'||str[i]=='?')
   num++;
 }
 cout<<num;
 return 0;
}

第六章
这一章开始涉及递归,虽然代码量小,但对初学者很有难度,注意理解

//第一题
#include <iostream>
using namespace std;
int monkeyandPeak(int k, int n)
{
 if(n==1)
  return k;
 else
  return monkeyandPeak((k+1)*2,n-1);
}

int main()
{
 int n;
 cin>>n;
 cout<<monkeyandPeak(1,n);
 return 0;
}
//第二题
#include <iostream>
using namespace std;

inline void rectangle(int a, int b)
{
 cout<<a*b<<" "<<(a+b)*2;
}

int main()
{
 int a, b;
 cin>>a>>b;
 rectangle(a,b);
 return 0;
}
//第三题
#include <iostream>
#include <string>
#include <cstring>
using namespace std;

void print_spaced(char str[])
{
 int len = strlen(str);
 for(int i=0;i<len-1;i++)
 {
  cout<<str[i]<<" ";
 }
 cout<<str[len-1];
}

void print_spaced(string str)
{
 int len = str.size();
 for(int i=0;i<len-1;i++)
 {
  cout<<str[i]<<" ";
 }
 cout<<str[len-1]; 
} 

int main()
{
 char str1[100];
 string str2;
 cin>>str1>>str2;
 print_spaced(str1);
 cout<<endl;
 print_spaced(str2);
 return 0;
}
//第四题
#include <iostream>
using namespace std;

void print(int num[], int n)
{
 for(int i=0;i<n;i++)
 {
  cout<<num[i];
  if(i<n-1)
   cout<<" "; 
 } 
 return;
}

void sort(int &a, int &b)
{
 int temp;
 if(a<b)
 {
  temp = a;
  a = b;
  b = temp;
 }
 
}

void sort(int &a, int &b, int &c)
{
 sort(a,b);
 sort(a,c);
 sort(b,c);
}

void sort(int &a, int &b, int &c, int &d)
{
 sort(a, b, c);
 sort(b, c, d);
 sort(a, b);
}
//选择排序递归实现
void sort(int num[], int n)
{
 int j=0,temp;
 for(int i=0; i<n; i++)
 {
  if(num[i]<num[j])
   j=i;
    }
  temp=num[n-1]; 
 num[n-1]=num[j]; 
 num[j]=temp;  
  if(n>1)
   sort(num,n-1); 
}

int main()
{
int a,b,c,d;
int data[100];
int k,n,i;
  cin>>k;
  switch(k)
  {
    case 1:
        cin>>a>>b;
        sort(a,b);
        cout<<a<<" "<<b<<endl;
        break;
    case 2:
        cin>>a>>b>>c;
        sort(a,b,c);
        cout<<a<<" "<<b<<" "<<c<<endl;          
        break;      
    case 3:
        cin>>a>>b>>c>>d;
        sort(a,b,c,d);
        cout<<a<<" "<<b<<" "<<c<<" "<<d<<endl;
        break;  
    case 4:
        cin>>n;
        for(i=0;i<n;i++)
           {
            cin>>data[i];
        } 
        sort(data,n);
        print(data,n);
        break;      
  }
  return 0;
}
//第五题
#include <iostream>
#include <cstring>
using namespace std;

void string_reverse(char str[], int len)
{
	static int left = 0;
	static int right = len-1;
	char temp;
	if(len==0||len==1)
		return;
	else
		temp = str[left];
		str[left] = str[right];
		str[right] = temp;
		left++;
		right--;
		return string_reverse(str,len-2);
}

int main()
{
	char str[100];
	cin.getline(str,100);
	int len = strlen(str);
	string_reverse(str,len);
	cout<<str;
	return 0;
}

第七章

//第一题
#include <iostream>

void reset(int *a, int *b)
{
	int ave;
	ave = int((*a+*b)/2.0+0.5);
	*a = *b = ave; 
}

int main()
{
	int a, b;
	std::cin>>a>>b;
	reset(&a,&b); 
	std::cout<<a<<" "<<b;
	
  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C++程序设计课程配套课件,西北工业大学-中国大学mooc平台课程,PPT很不错。 程序设计课程是大学计算机基础教育和计算机科学与技术专业基础的核心课程,是据结构、算法设计、学建模、软件技术等课程的前导课程。程序设计课程的教学目标是使学生能够使用一种开发工具熟练的进行软件开发,为学生将来的创新实验、毕业设计、科学研究提供了有力的技术支持。 C++是国内外广泛使用的计算机程序设计语言。其功能强大、面向对象、据表示丰富、代码运行效率高、可移植性好,适合编写系统软件和各类应用程序。在TIOBE排行榜上,C++语言多年来始终处于前五位。学习程序设计C++入手,对于培养利用计算机现实问题的计算思维能力具有其他语言无法比拟的有点。且在完全掌握了C++语言之后,再学习其他程序设计语言就会轻车熟路了。 C是C++的子集,因此在C++的授课中,有至少一半的内容是和C语言一样的。而国内C++程序设计课程的学时普遍较少,且讲授的重点一般都放在和C重叠的那一部分。对于C++比C多出来的内容往往只介绍类、继承等基本概念,而对于重载、多态、异常处理、据流等内容言之甚少。本课程即针对这一问题,增加了C++独有的内容的比重,不但适用于在校大学生,且适用于工作中使用C++进行软件开发的人。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值