C++编程题目:输入一个字符串,把其中的各个字符按ASCII值大小逆序输出
代码如下:
#include #include int main(){char str[] = "Hello World!", ch;int i, j, len;len = strlen(str);for (i = 0; i str[j]) {ch = str[i];str[i] = str[j];str[j] = ch;}}}printf("%s
", str);return 0;}运行结果:
#includeusing namespace std;int main(){char c[50];//定义字符串存储空间cin>>c;int sum = 0;for(int i = 0; c[i] != '\0'; i++){ sum += c[i];}cout<<"sum = "<<sum<<endl;return 0;}
楼上比较经典,典型的C++式解决方法。不过LZ可能要求的是各个字符不重复,这样的话可能还需要改点:
int main()
{
string s;
cin >> s;
sort(s.begin(), s.end(), greater<char>());
unique_copy(s.begin(), s.end(), ostream_iterator<char>(cout," "));
return 0;
}
呵呵。
不过初学者可能会挠头了。。
#include<string>
#include<algorithm>
#include<iostream>
#include<functional>
using namespace std;
int main()
{
string s;
cin >> s;
sort(s.begin(), s.end(), greater<char>());
cout << s << endl;
}
"
float *Grade(float *num,int i) //用来冒泡排序 num传入数组指针,i传入数组个数
{
int j,k;
float temp;
for (j=0;j<i;j++)
for (k=0;k<i-j;k++)
{
if (num[k]<num[k+1])
{
temp=num[k];
num[k]=num[k+1];
num[k+1]=temp;
}
}
return num;
}
void main()
{
float num[100];
int i=0,j=0,iavg=0; //i=数组个数,j=循环,iavg=高于平均成绩人数
float avg=0,sum=0; //avg=平均成绩,sum=总成绩
printf("请输入成绩,按Ctrl+D结束:");
while (scanf("%f",&num[i])) //循环输入成绩
{
sum+=num[i];
i++;
}
avg=sum/i;
printf("平均分为%.1f\n",avg);
Grade(num,i);
printf("所有学生的成绩为:");
for (j=0;j<i;j++)
{
printf("%.1f ",num[j]);
if (num[j]>avg)
iavg++;
}
printf("\n高于平均人数的有%d人\n",iavg);
}
第二题:
#include "stdio.h"
int digit(int i,int *dinum)
{
int j=0,k=0;
while (i=0) //计算位数
{
dinum[k]=i%10; //将数字存入数组
i=i/10;
j++;k++;
}
return j;
}
void main()
{
int inum,dinum[10],i,j; //inum=整数 dinum=存各个数字的数组 i,j=循环需要
printf("请输入整数:");
scanf("%d",&inum);
j=digit(inum,dinum);
printf("该整数为 %d 位\n",j);
printf("数字分别为:");
for (i=j-1;i>=0;i--)
{
printf("%d ",dinum[i]);
}
}
第三题:
#include "stdio.h"
int fun(int *a)
{
int i=1,j=0;
for (i;i<1000;i++)
{
if ((i%7==0||i%11==0)&&!(i%7==0&&i%11==0))
{
a[j]=i;
j++;
}
}
return j;
}
void main()
{
int a[500],i,j;
j=fun(a);
for (i=0;i<j;i++)
{
printf("%d ",a[i]);
if (i%15==0)
printf("\n");
}
以上代码均在VC6.0中编译通过,现在1点了。后面的题以后再说
另外,站长团上有产品团购,便宜有保证
c++输入一个字符串,输出这个字符串中第n个字符后的所有字符。(n<输入...
int main(){ int i,n,j;char ch[20],p[20];cout<<"输入字符串:";cin>>p;cout<<"\\n输出这个字符串中第";cin>>n;cout<<"个字符后的所有字符\\n";for(i=n-1,j=0;*(p+i)!='\\0';i++,j++)ch[j]=*(p+i);ch[j]='\\0';cout<<"输出字符串:\\n" ;cout<<ch;return 0...
输入一个字符串,把其中的字符按逆序输出,如果输入“abcd”,要求输出...
int main(){ string str;int i,n;char temp;cout<<"请输入一个字符串:"<<endl;cin>>str; \/\/ 输入字符串\/\/ n=str.size(); \/\/读出字符串个数\/\/ for(i=0;i<n\/2;i++) \/\/判断语句,把最后一个给第一个,第一个再给回最后一个以此类推。\/\/ { temp=str[i];str[i]=str...
编程:输入一个字符串数组,把相同的字符删除,剩下的输出
include<stdio.h> include<string.h> void main(){ char ch[20];gets(ch);int m=strlen(ch);for(int i=0;i<m-1;i++){ int n=0;if(ch[i]=='\\0')continue;for(int j=i+1;j<m;j++){ if(ch[i]==ch[j]){ ch[j]='\\0';n++;} } if(n!=0)ch[i]='\\0';} for...
用C++编程:输入一个字符串和字符,指出该字符串第一次出现的位置_百度知 ...
include<iostream> include<string.h> using namespace std;int main(){ string str;cin>>str;char ch;cin>>ch;int length = str.length();for(int i = 0; i < length; i++){ if(str[i] == ch)cout<<"the position is "<<i + 1<<endl;} return 0;} ...
编程实现:输入一个字符串,以空格作为单词分隔符,将整个字符串按单词反...
String s="I am here!"; ---获取输入的字符串 String[] a=s.spit(" "); ---以空格作为分隔符 将字符串分成多个字符串 组成一个数组 for(int i=a.length;i>0;i++) ---循环打印出数组内容 不过是以倒序循环出来 先打印出最后添加进来 { 循环打印a } ...
输入一个字符串,统计单词个数,单词之间用空格分离。(c++编程)
\/\/ 格的话那么就是一个单词.\/\/ 排除字符串不已空格开始的可能,字符串中可以含有 \/\/ 任意多个空格 if (strWord[0]!=' '){ count++;} for (int i=1; i<len; i++){ if(strWord[i]!=' ' && strWord[i-1]==' '){ count++;} } cout<<count<<endl;return 0;} ...
C语言编程问题:输入一个字符串,再输入一个字符ab,将字符串中所有的ab...
大致思考方法:定义三个字符串:str[], ab[], output[],str是输入的第一个字符串,output放的是最后的结果。设置两个下标 i,j。i指向第一个字符串,j指向第二个子符串;i每次向后移动一个位置,i往后的strlen(ab)个字符是不是和字符串ab匹配,如果不匹配就把str[i]添到字符串output中,如果...
编程题,求高手,输入一个字符串,过滤此串,只保留串中的字母字 符,并统...
include<stdio.h> void main(){ char str[100],str1[100];int i,j=0;gets(str);for(i=0;str[i]!='\\0';++i)if(str[i]>='a' && str[i]<='z' || str[i]>='A' && str[i]<='Z')str1[j++]=str[i];str1[j]='\\0';puts(str1);printf("%d\\n",j);} ...
输入一个字符串,将指定位置的字符删除。(要简单点的,急求答案,在把每句...
include <stdio.h> include <string.h> void main(){ char ch[20];int n,i,len;printf("输入一个字符串:");gets(ch);printf("要删除字符的位置:");scanf("%d",&n);len=strlen(ch);for(i=n-1;i<len;i++)ch[i]=ch[i+1];printf("删除后的字符串:");puts(ch);printf("\\n...
编写一个程序,输入一个字符串(长度不超过20),然后把这个字符串内的每...
include <stdio.h> void main(){ char a[20];int i;printf("请输入一个由英文字母构成的字符串:");gets(a);for (i=0;i<20;i++){ if(a[i]>='a'&&a[i]<='z')a[i]-=32;else if(a[i]>='A'&&a[i]<='Z')a[i]+=32;} a[20]='\\0';puts(a);} 嘿嘿,,,求...