c++ 帮忙啊 ! 今晚天上要交的!谢谢啊

来源:百度知道 编辑:UC知道 时间:2024/05/26 08:51:04
1.从键盘上输入一个字符串,假定长度不超过80个字符,试去除其中的非英文字母(字符串的长度缩短),并将其中的小写英文字母全部转化为大写,最后输出该字符串并分别统计输出每一种英文字母的个数。
2.将用户输入的一个正整数n(长整型)输出成“千分位”形式,即从个位数起,每三位之间加一个逗号,例如:将7654321输出成7,654,321。

哈,你运气真好,有些人问这种题目十几天都不一定有人理他;我刚好第一题编不来,有贵人助你,人品爆发了你……
2.
#include<iostream.h>
#include<malloc.h>
char *separate(int);
char *exchange(int);
void main()
{
int num;
char *p;
cout<<"输入一个整数:";
cin>>num;
p=separate(num);
cout<<"输出结果:"<<p<<endl;
}
char *separate(int num)
{
char *p1, *p2=exchange(num),*p3,*pt;
int count=1;
p1=p2;
while (*p2++!='\0');
p3=p2-1; //p3指向字符串的结束标志'\0'
p2=p2-2; //p2指向字符串最后一个有效字符
while (p2>p1) //从后向前操作
{
if (count==3) //计数3个字符
{
pt=p3++;
while (pt>=p2)
*(pt+1)=*pt--;
*p2=','; //插入一个逗号
count=0;
}
count++;
p2--;
}
return p1;
}
char *exchange(int num) //将整数num转换成对应的数字字符串
{
char *p,*p1,*p2,temp;
p=p1=p2=(char *)malloc(20*sizeof(char