编写一个C语言程序:从键盘读入一行文本,统计每个英文字母出现的次数
1、新建一个工程和.c文件 ,输入头文件和主函数。
2、定义 变量类型,输入数字。
3、用while语句判断数字是否在1到4范围内。
4、调用函数。
5、用一个for语句输出。
6、编译、运行 ,得到最后的结果。
给你说一个大概思路
把读出来的字符串逐个字母进行判断,记录当前判断字母为ch
i = 把字符转化为整型数(对应的ASCII:0—48,a—97,A—65)具体算法自己想想
然后letter[i]++
最后输出就行了
对于每个英文字母分别判断个数,并累计,最终输出即可。
一、算法:
1、循环读取字符,直到换行为止。对于每个字符,执行以下流程。
2、判断是否为英文字母,即小写和大写两种。
3、如果是英文字母,则统计个数。
输入部分,可以存为数组,也可以每输入一个字符计算一次。
二、参考代码:
#include <stdio.h>
int main()
{
int c;
int cnt[52]={0};
while((c=getchar())!='
')//读取每个字符,直到遇到换行为止。
{
if(c>='A'&&c<='Z')//大写
cnt[c-'A'] ++;//统计。
else if(c>='a'&&c<='z')//小写
cnt[c-'a'+26] ++;//统计。
}
for(c=0;c<26;c++)//输出大写字母统计结果。
if(cnt[c]!=0) printf("%c:%d
", c+'A', cnt[c]);
for(c=26;c<52;c++)//输出大写字母统计结果。
if(cnt[c]!=0) printf("%c:%d
", c-26+'a', cnt[c]);
return 0;
}
#include <stdio.h>
int main(void)
{int i;
char j;
char a;
int b[26]={0};
while ((a = getchar()) != '\n')
{
for (j='A';j<='Z';++j)
{
if (a == j || a == j+('a'-'A'))
{
b[j-'A']++;
}
}
}
for (i=0;i<26;++i)
{
if (b[i] == 0)
{
continue;
}
else
{
printf("'%c':%d\n",i+'A',b[i]);
}
}
printf("\n");
}
#include <stdio.h>
#include <stdlib.h>
#define MAX 100
int main()
{
char str[MAX]; // 输入的字符串,最大长度是MAX-1,因为有一个字符串结束符
int i = 0, count[52] = { 0 }; // count 数组用来存储各个字母出现的次数
scanf("%s", str);
while(str[i] != '\0') {
if (str[i] >= 'a' && str[i] <= 'z') { // 统计小写字母
count[str[i] - 97 + 26]++;
}
if (str[i] >= 'A' && str[i] <= 'Z') { // 统计大写字母
count[str[i] - 65]++;
}
i++;
}
for (i = 0; i < 26; i++) { // 输出大写字母信息
if (count[i] != 0)
printf("%c\t%d\n", i + 65, count[i]); // 只输出不为零的数据
}
for (i = 26; i < 52; i++) { // 输出小写字母信息
if (count[i] != 0)
printf("%c\t%d\n", i + 97 - 26, count[i]);
}
return 0;
}
C语言:请编写一个程序,从键盘读入两个整数a和n,计算并输出a+aa+aaa+...
答:void main(){int i,a,n,k=1,out;printf("请输入a与n:");scanf("%d %d",&a,&n);for(i=0;i<n+1;i++){ k=k*10;} out=a*k/81-10*a/81-a*n/9;printf("the result is:%d\n",out );}
编写一个程序读取输入,读到#字符停止(c语言)?
答:for(int j=i;j
C语言+从键盘输入一个英文单词,实现在指定位置删除英文字母的编程...
答:```c include <stdio.h> include <string.h> int main() { char str[100];int n, i, len;printf("请输入一个英文字符串:");fgets(str, sizeof(str), stdin);printf("请输入要删除的第几个I字符:");scanf("%d", &n);len = strlen(str);for (i = n - 1; i < len - 1...
c语言编写程序,从键盘输入一个整数,当该数小于5时,输出读数本身_百度...
答:include <stdio.h>int main(int argc, char *argv[]){ int a = 0; scanf("%d", &a); if (a < 5) { printf("%d\n", a); } return 0;}
怎么用c语言写一个 程序。实现从键盘输入字符并写入一个文件。
答:);//打开输出文件 if (fp2==NULL) {//若打开文件失败则退出 puts("不能打开文件!"); rturn 0; } c=getchar();//从键盘读取一个字符 fputc(c,fp2);//向输出文件写入一个字符 fclose(fp2);//关闭输出文件,相当于保存 return 0;} ...
用C语言编写读入并读取一个文件,按照下面的要求编写程序
答:int main(){ FILE *fp,*ok;char str1[80],str2[80];if((fp=fopen("d:\\file.txt","r+"))==NULL)//打开d盘下名为file的文本文件;{ puts("file文件打开失败!");exit(0);} else puts("file文件打开成功");if((ok=fopen("d:\\file1.txt","r"))==NULL)//打开d盘下名为...
C语言怎么写!!编写一个程序,读入5个整数,然后确定并显示这组数种的最...
答:int array[5];// 输入整数 void input(){ int i;printf("Please input 5 number:\n");for(i=0;i<5;i++){ scanf("%d",&array[i]);//每输入完一个数据,请回车。} printf("Thank you ,input is end!\n");} // 显示函数 void display(){ int j;printf("the number you ...
C语言怎么编写一个程序:每次读入一个正三位数,然后输出逆序的数字...
答:= EOF) {int gewei = n%10;//n对10取模,意思就是n除以10的余数,那肯定就是个位上的数字n = n/10;//然后n除以10,按照整型int运算规则,舍弃了小数部分,所以原来的三位数变成两位数int shiwei = n%10;n = n/10;int baiwei = n;printf("%d%d%d\n",gewei,shiwei,baiwei);}return ...
编一C语言程序。通过键盘输入2个浮点型数,输出其中的最大值
答:{ float a,b;printf("enter two number:\n"); //输入两个数 scanf("%f %f",&a,&b); //把输入两个数分别赋给a b if(a>b) printf("%.0f",a); //判断谁大就输出谁 else printf("%.0f",b); //.0是想要小数点后不输出 } ...
c语言编程,从键盘任意按下一个键程序能识别并输出按键种类
答:include<conio.h> void main() { char c;while ( 1 ) { c=getch();if ( c==27 ) { printf("Esc键退出。\n"); break; } else if ( c>='a' && c<='z' ) printf("小写字母\n");else if ( c>='A' && c<='Z' ) printf("大写字母\n");else if ( c>='0' && ...