每个题目后面有更正后的代码(有提示更正),前面代码是自己写的,不是很准确,请参考更正后的内容
1. 将n个整数按输入顺序的逆序排列,要求应用带指针参数的函数实现
代码:
#include<iostream>
using namespace std;
#define N 100
int tip(int num);
void addArray(int arr[], int size);
void reOrder(int *p, int num);
int main()
{
int n = 0;
int array[N] = {
'\0'};
n = tip(n);
addArray(array,n);
reOrder(array,n);
return 0;
}
//输入提示
int tip(int num)
{
cout<<"请输入需要倒序整数n: ";
cin>>num;
if(num<0)
{
cout<<"你输入的n值小于0 \n";
return 0;
}
else if(num > 100)
{
cout<<"你输入的n值大于数组的容量 \n";
return 0;
}
else
{
cout<<"你要为 "<<num<<" 个整数排序"<<endl;
return num;
}
}
//对数组输入值并打印输入的整数
void addArray(int arr[], int size)
{
cout<<"请输入要倒序输出的整数: ";
int i=0;
for(i; i<size; i++)
{
cin>>arr[i];
}
cout<<"需要倒序输出的整数: ";
for(i=0; i<size; i++)
{
cout<<arr[i]<<" ";
}
cout<<endl;
}
//对整数进行倒序排列并输出
void reOrder(int arr[], int num)
{
cout<<"倒序输出的整数: ";
int i=0;
for(i = num-1; i>=0; i--)
{
cout<<arr[i]<<" ";
}
cout<<endl;
}
运行结果:
更正:
#include<iostream>
using namespace std;
void inverse(int *p, int n)
{
int *q=p+n-1; //指针变量q指向数组最后一个元素
int t;
while (p<q)
{
t = *p; *p = *q; *q=t; //交换*p与*q
p++;q--; //移动指针变量
}
}
int main()
{
int a[10] = {
1,2,3,4,5,6,7,8,9,10};
inverse(a,10);
for(int i=0; i<10; i++)
cout<<a[i]<<"\t";
cout<<endl;
return 0;
}
更正运行结果:
2.编程输入一行文字,找出其中的大写字母、小写字母、空格、数字以及其他字符各有多少
代码:
#include <iostream>
#include<string>
using namespace std;
#define M 100 //预内编译命令容没分号
void number(char array[]);
int main()
{
char array[M] = {
'\0'};
number(array);
return 0;