7-1 统计大写辅音字母(15 分)
#include <stdio.h>
#include <string.h>
#define STRMAX 81
int main(){
char str[STRMAX];
gets(str);
int count=0;
for(int i=0;i<strlen(str);i++){
if(str[i]>='B'&&str[i]<='Z'){
if(str[i]!='E'&&str[i]!='I'&&str[i]!='O'&&str[i]!='U'){
count++;
}
}
}
printf("%d",count++);
return 0;
}
7-2 统计字符出现次数(20 分)
#include <stdio.h>
#include <string.h>
#define STRMAX 81
int main(){
char str[STRMAX];
gets(str);
char ch;
ch=getchar();
int count=0;
for(int i=0;i<strlen(str);i++){
if(str[i]==ch){
count++;
}
}
printf("%d",count++);
return 0;
}
7-3 字符串逆序(15 分)
#include <stdio.h>
#include <string.h>
#define STRMAX 81
int main(){
char str[STRMAX];
gets(str);
for(int i=strlen(str)-1;i>=0;i--){
putchar(str[i]);
}
return 0;
}
7-4 字符串字母大小写转换(15 分)
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#define STRMAX 81
int main(){
char str[STRMAX];
gets(str);
for(int i=0;i<strlen(str);i++){
if(str[i]>='A'&&str[i]<='Z'){
str[i]=tolower(str[i]);
}
else if(str[i]>='a'&&str[i]<='z'){
str[i]=toupper(str[i]);
}
}
for(int i=0;i<strlen(str);i++){
if(str[i]!='#'){
printf("%c",str[i]);
}
}
return 0;
}
7-5 查找指定字符(15 分)
#include <stdio.h>
#include <string.h>
#define STRING_SIZE 81
int main() {
char str[STRING_SIZE];
char ch,ch1;
int i=0, flag = 0,ad=0;
scanf("%c", &ch);
scanf("%c", &ch1);
gets(str);
while(str[i] != '\0') {
if(str[i] == ch) {
ad = i;
flag=1;
}
i++;
}
if(flag==1) {
printf("index = %d", ad);
}
else{
printf("Not Found");
}
return 0;
}
7-6 字符串转换成十进制整数(15 分)
#include <stdio.h>
#include <string.h>
#define STRMAX 81
int main(){
char str[STRMAX],str1[STRMAX];
int i=0,k=0,flag=1,ad=0;
while((str[i++]=getchar())!='#');
str[i]='\0';
for(i=0;str[i]!='\0';i++){
if(str[i]>='0'&&str[i]<='9'||str[i]>='a'&&str[i]<='f'||str[i]>='A'&str[i]<='F'){
ad=i;
break;
}
}
for(i=0;i<ad;i++){
if(str[i]=='-'){
flag=0;
}
}
for(i=0;str[i]!='\0';i++){
if(str[i]>='0'&&str[i]<='9'||str[i]>='a'&&str[i]<='f'||str[i]>='A'&str[i]<='F'){
str1[k++]=str[i];
}
}
str1[k]='\0';
int number=0;
for(i=0;str1[i]!='\0';i++){
if(str1[i]>='0'&&str1[i]<='9'){
number=number*16+str1[i]-'0';
}else if(str1[i]>='a'&&str1[i]<='f'){
number=number*16+str1[i]-'a'+10;
}else if(str1[i]>='A'&&str1[i]<='F'){
number=number*16+str1[i]-'A'+10;
}
}
if(flag){
printf("%d",number);
}else{
printf("-%d",number);
}
return 0;
}
7-7 输出大写英文字母(15 分)
#include <stdio.h>
#include <string.h>
#define STRMAX 81
#define MAX 27
int main()
{
int i, j, isExist, index = 0,flag=0;
char str[STRMAX],str1[MAX];
gets(str);
for(i=0;i<strlen(str);i++){
isExist=0;
if(str[i]>='A'&&str[i]<='Z'){
for(j=0;j<strlen(str1);j++){
if(str[i]==str1[j]){
isExist=1;
break;
}
}
if(!isExist){
str1[index++]=str[i];
flag=1;
}
}
}
str1[index]='\0';
if(flag==1){
puts(str1);
}else{
printf("Not Found");
}
return 0;
}
7-8 删除重复字符(20 分)
#include <stdio.h>
#include <string.h>
#define STRMAX 81
int main()
{
int i, j, isExist, index = 0,flag=0;
char str[STRMAX],str1[STRMAX];
gets(str);
for(i=0;i<strlen(str);i++){
isExist=0;
for(j=0;j<strlen(str1);j++){
if(str[i]==str1[j]){
isExist=1;
break;
}
}
if(!isExist){
str1[index++]=str[i];
}
}
str1[index]='\0';
for(i=0;i<strlen(str1)-1;i++){
for(j=i+1;j<strlen(str1);j++){
if(str1[i]>str1[j]){
char temp =str1[i];
str1[i]=str1[j];
str1[j]=temp;
}
}
}
puts(str1);
return 0;
}