c++的三项作业题,求教高手(尽量用比较常用的指针做法)

来源:百度知道 编辑:UC知道 时间:2024/05/16 06:06:34
1.从键盘上输入一个字符串,假定长度不超过80个字符,试去除其中的非英文字母(字符串的长度缩短),病将其中的小写英文字母全部转化为大写,最后输出该字符串并分别统计输出每一种英文字母的个数。

2.输入一个字符串(假定长度不超过80个字符),内中有数字字符和非数字字符,将其中的连续数字作为一个整数,编写程序输出所有整数并计算其中有多少个整数。
例如:若输入的字符串为:a123x456Ub17960?302tab0586ee,
则应输出: 123 456 17960 302 586,共5个整数。

3.将用户输入的一个正整数n转化为十六进制数(参考课堂教学ppt课件上最后的例题)。

#include<iostream>
using namespace std;
int main()
{
char c[80];
int n,i;
cin>>n;
cout<<hex<<n<<endl;
for(i=0;n>0;i++)
{
int x=n%16;
n/=16;
if(x>9)
switch(x)
{
case 10:c[i]='A';break;
case 11:c[i]='B';break;
case 12:c[i]='C';break;
case 13:c[i]='D';break;
case 14:c[i]='E';break;
case 15:c[i]='F';break;
}
else c[i]=char(x+'0');
}
c[i]=0;
int length=strlen(c);
for(i=0;i<length/2;i++)
{
char temp=c[i];
c[i]=c[length-i-1];
c[length-i-1]=temp;
}
cout<<c;
return 0;
}

#include<iostream.h>
#include<string.h>
void main()
{
char Buf[80];
cin>>Buf;
int num=0;
int len=strlen(Buf);
for(int i=0;i<=len;i++)