0:
#include <stdio.h>
#include <string.h>
int main()
{
char str1[100];
char str2[100];
int num1,num2,num3,length,i;
printf("请输入第一个字符串:");
gets(str1); // 此处不能用scanf,因为scanf只能用%s来接收字符串,而%s遇到空格就会跳出
printf("请输入第二个字符串:");
gets(str2);
printf("请输入比较的字符数:");
scanf("%d",&length);
for(i = 0;i < length; i++){
num1 = str1[i];
num2 = str2[i];
if(num1 - num2 == 0){
continue;
}else{
num3 = num1 - num2;
}
}
printf("比较的结果是:%d\n",num3);
return 0;
}
1:
#include <stdio.h>
#include <string.h>
#define MAX 21
int main()
{
int ch, space, i = 0;
char str[MAX];
space = MAX - 1; //MAX - 1是结束符的下标,也就是数组的最后一个位置
printf("请输入一行文本:");
while((ch = getchar()) != '\n'){
str[i++] = ch;
if(i == MAX - 1){
break; // 到了字符的最后一个位置了
}
if(ch == ' '){
space = i; //记录最后一个空格的位置
}
}
if(i >= MAX - 1){
str[space] = '\0'; // 只要字符的个数大于21个字符就把第二十一的位置设置为结束符
} else {
str[i] = '\0';
}
printf("你输入的文本是:%s\n",str);
return 0;
}
2:
#include <stdio.h>
#include <string.h>
#define NUM 128
int main()
{
int ch, i, j = 0, max = 0;
int input_num = 0;
int ascii[NUM] = {0}; // 将ascii[0]赋值为0,其余元素会自动赋值为0
char count[NUM] = ""; // 初始化,否则会有随机值影响数据准确度
printf("请输入英文文本:");
while((ch = getchar()) != '\n'){
ascii[ch]++; // 对应字符在ascii数组中的元素位加一
input_num++; // 统计字符个数
}
for(i = 0; i < NUM; i++){
if(ascii[i]){
count[j++] = i; //将所有字符的ascii码存到count中
if(ascii[i] > ascii[max]){
max = i;
}
}
}
printf("你总共输入了%d个字符,其中不同的字符个数有%d个。\n",input_num,strlen(count));
printf("它们是:%s\n",count);
printf("出现次数最多的字符是\'%c',它总共出现了%d次\n",max,ascii[max]);
return 0;
}