1. c語言中單詞統計和空格數怎麼求解
循環讀取字元串中的字元,字元Ascii值等於 ' ' 即為空格,一串連續的a-z和A-Z組成的字元串構成單詞
2. C語言中怎麼計算空格的數,說思路即可。
可以用冒泡排序法,用for循環9次,每次都判斷前一個數是否大於後一個數
再交換
就是兩個for的嵌套
這是思路
把8改成10
就是了
3. 用C語言寫一個函數int CountSpace(char *pStr);統計字元串中空格的數目
要解決的問題主要是怎麼判斷字元串的結尾(空格的ASCII碼直接用' '就可以了)
一般情況是使用『\0』判斷字元串結尾,但是這樣的程序會有漏洞,就是對少數沒有『\0'的字元串 可能 會出錯。為什麼說可能呢?首先編譯的時候肯定沒問題,但是在內存一個一個比對字元時,因為字元串中沒有』\0'所以到字元串結束時,比對還沒結束,他會繼續將相鄰物理內存中的數據取出對比,直到遇到『\0'為止;所以建議把函數改成int CountSpace(char *pStr,int n);n用為字元數組長度;
下面是我寫的一個程序,我運行過了,可以的
#include<stdio.h>
#define LEN 20 //字元數組的長度
/*
**定義一個函數用於計算字元串空格
*/
int CountSpace(char *pstr, int n)
{
char *p_str;
int sum = 0;
int i = 0;
//遇到字元串中『\0』或者是字元數組的結尾時退出循環,空格的ASCII是' '
for( p_str = pstr; *p_str != '\0' && i < n; p_str ++, i ++ )
if( *p_str == ' ' ) sum += 1;
printf( "%d\n", i );
return sum;
}
/*
**用函數CountSpace()求出字元串中空格的個數
*/
void
main( void )
{
char str[LEN] = "I am a good boy";
int getch();
int i;
i = CountSpace( str, LEN );//用數組名做實參
printf( "%d", i );
getch();
}
在函數中有個printf( "%d\n", i ); 那個是用來判斷循環次數的,不要也可以。你要是只用一個形參,且有'\0'判斷結尾,你會發現你的循環次數超出字元數組的長度!雖然結果可能相同。。
我也是剛學C語言,(一個月)有機會多交流一下
4. 輸入一串字元,計算其中空格的個數,用C語言
#include <stdio.h>
#include <string.h>
int main(){
char a[999];
int i,n=0;
gets(a);
for(i=0;i<strlen(a);i++){
if(a[i]==' ')
n++;
}
printf("%d個空格",n);
return 0;
}
5. 輸入一個字元串,統計出其中空格的個數 C語言
思路:統計字元串中的空格,所以該字元串中有空格,則輸入只能使用gets函數,再依次遍歷該字元串,判斷字元是否是空格,如果是,則空格個數自加1。
參考代碼:
#include<string.h>
#include<stdio.h>
#include<math.h>
intmain()
{
intsum=0,i;
chara[100];
gets(a);
for(i=0;a[i]!='